Активность Lifecycle X Кнопка питания X Lock Screen

Когда я нажимаю кнопку питания, экран выключается (полностью темный), система разрушает мою активность, а затем воссоздает ее:

03-28 22:48:00.934: V/[BB](5809): [GameControl] onPause
03-28 22:48:01.444: V/[BB](5809): [GameControl] onDestroy
03-28 22:48:01.724: V/[BB](5809): [GameControl] onCreate
03-28 22:48:03.016: V/[BB](5809): [GameControl] onResume
03-28 22:48:03.016: V/[BB](5809): [GameControl] onPause

Это вызвано тем, что моя активность имеет фиксированную ориентацию (пейзаж), а экран блокировки - портрет.

Я протестировал эту теорию, установив фиксированную портретную ориентацию, и проблема не возникает. Я также проверил значения getResources(). GetConfiguration():

{ scale=1.0 imsi=724/31 loc=pt_BR touch=3 keys=2/1/1 nav=1/1 orien=2 layout=17 uiMode=17 seq=36}
{ scale=1.0 imsi=724/31 loc=pt_BR touch=3 keys=2/1/1 nav=1/1 orien=1 layout=17 uiMode=17 seq=37}
{ scale=1.0 imsi=724/31 loc=pt_BR touch=3 keys=2/1/1 nav=1/1 orien=2 layout=17 uiMode=17 seq=38}

Как это можно избежать? Я не хочу, чтобы моя активность была уничтожена экраном блокировки!

Ответ 1

Решение состоит в том, чтобы добавить

android:configChanges="orientation|keyboardHidden|screenSize"

в элементе <activity> в AndroidManifest.xml.

Ответ 2

Возможно, в функции onPause() и onResume() должен быть код.

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

Надеюсь, что это поможет!