Я хочу сделать действие, которое позволяет изменения ориентации на некотором условии, но не иначе. Более точно я хочу предотвратить перезапуск действия, когда фоновый поток занят.
Я поместил configChanges
атрибут на декларации действия, и onConfigurationChanged
назван, когда ориентация изменяется. Однако я хочу позволить приложению изменять ориентацию при разрешении.
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (orientationChangeAllowed) {
// how do I restart this activity?
} else {
// don't do anything
}
}
, если это разрешено, вызов setRequestedOrientation ()
, когда это запрещено, ничего не делать.
В качестве совета: вы можете использовать onRetainNonConfigurationInstance ()
и getLastNonConfigurationInstance ()
и вернуть (объект, содержащий) AsyncThread
. Таким образом, действие Activity
изменит ориентацию, когда пользователь захочет. Однако обратите внимание: вы не должны пропускать ссылку на Контекст
(может быть ссылка на вашу Activity
или Drawable
, ...).