Действие Android перезапускается после разблокировки устройства

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

Ответ 1

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

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

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

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

Ответ 2

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

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