Активность Android перезапускается после разблокировки устройства - PullRequest
10 голосов
/ 08 декабря 2011

Я создаю простой проект Android.Но каждое мое действие получает перезагрузку, когда пользователь разблокирует экран (после блокировки).Это нормальное поведение приложения для Android?ИЛИ Я должен справиться с этим в Манифесте?или еще где?Пожалуйста, помогите ...

Ответы [ 2 ]

15 голосов
/ 25 июня 2012

Если ваша целевая версия сборки - Honeycomb 3.2 (уровень API 13) или выше, вы также должны установить флаг screenSize, например:

<activity
    android:configChanges="orientation|screenSize|keyboardHidden"
    android:name="YOUR ACTIVITY NAME">
</activity>

потому что даже с флагом «ориентации» ваше приложение будет уничтожено и воссоздано заново при каждом изменении ориентации, когда ваше приложение будет активным, либо видимым на экране, либо скрытым экраном блокировки. Это связано с тем, что полезный размер экрана, в основном в планшетах, фактически изменяется из-за изменения расположения панели действий системы.

Это сводило меня с ума на несколько часов! : /

4 голосов
/ 08 декабря 2011

Необходимо добавить android:configChanges="orientation|keyboardHidden" в манифесте для каждого действия.И это решает проблему

    <activity
        android:configChanges="orientation|keyboardHidden"
        android:name="YOUR ACTIVITY NAME">
    </activity>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...