Условный перезапуск на Действии onConfigurationChanged

Я хочу сделать действие, которое позволяет изменения ориентации на некотором условии, но не иначе. Более точно я хочу предотвратить перезапуск действия, когда фоновый поток занят.

Я поместил configChanges атрибут на декларации действия, и onConfigurationChanged назван, когда ориентация изменяется. Однако я хочу позволить приложению изменять ориентацию при разрешении.

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);

    if (orientationChangeAllowed) {
        // how do I restart this activity?
    } else {
        // don't do anything
    }
}
5
задан Randy Sugianto 'Yuku' 19 March 2010 в 07:37
поделиться

1 ответ

, если это разрешено, вызов setRequestedOrientation () , когда это запрещено, ничего не делать.

В качестве совета: вы можете использовать onRetainNonConfigurationInstance () и getLastNonConfigurationInstance () и вернуть (объект, содержащий) AsyncThread . Таким образом, действие Activity изменит ориентацию, когда пользователь захочет. Однако обратите внимание: вы не должны пропускать ссылку на Контекст (может быть ссылка на вашу Activity или Drawable , ...).

7
ответ дан 14 December 2019 в 08:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: