活动生命周期X电源按钮X锁定屏幕



当我按下电源键时,屏幕关闭(完全黑暗),系统破坏我的活动,然后重新创建它:

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

希望它能有所帮助!

最新更新