Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Activity Lifecycle X Power Button X Lock Screen

When I press the power key, the screen turns off (completely dark), the system destroys my activity and then recreates it:

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

This is caused because my activity has a fixed orientation (landscape) and the lock screen is portrait.

I tested this theory by setting a fixed portrait orientation and the issue doesn't happen. I also checked the getResources().getConfiguration() values:

{ 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}

How can avoid that? I don't want my activity destroyed by the lock screen!

like image 923
thiagolr Avatar asked Mar 30 '12 18:03

thiagolr


2 Answers

The solution is to add

android:configChanges="orientation|keyboardHidden|screenSize"

on your <activity> element in your AndroidManifest.xml.

like image 77
thiagolr Avatar answered Nov 12 '22 06:11

thiagolr


Maybe the onPause() and onResume() function has to have a code there.

Please check theis similar thread, and here so you can understand the reason why it happens.

  • Prevent Android activity from being recreated on turning screen off
  • Detect on/off Key Press Android

Hope it helps!

like image 29
Ernani Joppert Avatar answered Nov 12 '22 06:11

Ernani Joppert