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