当我按下电源键时,屏幕关闭(完全黑暗),系统破坏我的活动,然后重新创建它:
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}
如何避免这种情况?我不想我的活动被锁屏破坏!
解决方案是添加
android:configChanges="orientation|keyboardHidden|screenSize"
在AndroidManifest.xml
中的<activity>
元素上。
也许onPause()
和onResume()
函数必须有一个代码。
请检查一下这条类似的线索,在这里你可以理解它发生的原因。
- 阻止在关闭屏幕时重新创建Android活动
- 检测开启/关闭按键Android
希望它能有所帮助!