android - Activity 生命周期 X 电源按钮 X 锁屏

标签 android android-lifecycle

当我按下电源键时,屏幕关闭(完全变暗),系统销毁我的 Activity 然后重新创建它:

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

这是因为我的 Activity 有一个固定的方向(横向)并且锁定屏幕是纵向的。

我通过设置固定的纵向方向来测试这个理论,但问题没有发生。我还检查了 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}

如何避免呢? 我不希望我的 Activity 被锁定屏幕破坏!

最佳答案

解决方法是添加

android:configChanges="orientation|keyboardHidden|screenSize"

在您的 <activity> 上你的 AndroidManifest.xml 中的元素.

关于android - Activity 生命周期 X 电源按钮 X 锁屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9948315/

相关文章:

java - 如何获取 Gradle 中生命周期库的版本?

android - 如何获取最后一个 onPause fragment 触发器?

java - UI 线程与其他线程之间的通信使用处理程序

android - 如何在android模拟器中运行wifi点对点应用程序..?

当 CollapsingToolbarLayout 的子项时,不会调用 Android 布局行为

android - 防止某些 View 使用 android :animateLayoutChanges ="true" 进行动画处理

java - java 和 .length 上的数组边界

Android - 如果 Activity 是第一次加载(不使用 SharedPreferences),则阻止 onResume() 函数

android-lifecycle - 安卓 12 : Why doesn't swiping up trigger onStop()

java - onDestroy() 之后会发生什么