Данные об ориентации экрана Android потерять предотвращение - PullRequest
2 голосов
/ 29 августа 2011

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

Моя проблема в том, что у меня есть настройки, которые стираются, и служба, которая останавливается каждый раз, когда экран переворачивается. Я хотел бы сохранить вещи такими, какие они есть, независимо от ориентации экрана.

Ответы [ 2 ]

3 голосов
/ 29 августа 2011

В своей Активности в AndroidManifest установите следующее:

<activity android:name="YourActivity" android:configChanges="orientation|keyboardHidden"></activity>

Это говорит о том, что Ваша Активность не "воссоздает" себя при изменении ориентации экрана или изменении клавиатуры

1 голос
/ 29 августа 2011

Вы можете сохранить данные с помощью:

@Override
public Object onRetainNonConfigurationInstance() {
    return super.onRetainNonConfigurationInstance();
}

вернуть данные, которые вы хотите сохранить.

В функции onCreate вы можете проверить, есть ли какие-либо данные, сохраненные с помощью

final Object data = (Object) getLastNonConfigurationInstance());
    if (data == null) {
        //Retrieve data
    }else{
        //Use the saved data
        settings = data;
        }

Вы можете прочитать о этой теме в Руководстве по Android для разработчиков:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...