很长一段时间我以为我知道如何阻止屏幕进入睡眠模式,我只是在我的 Activity 中使用了这段代码:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
但是,我意识到这仅在我的手机处于“开发人员模式”时才有效,即启用/检查 USB 调试(设置 --> 开发人员选项 --> USB 调试)时。然后上面的代码确实停止了屏幕/设备进入睡眠状态。
如果不检查该调试,那么我的屏幕就会像没有明天一样进入睡眠状态。我在我的设备上运行 Android 4.04,并且
android:minSdkVersion="12"
android:targetSdkVersion="16"
编辑
我已经用 Commonsware 的建议进行了测试,并将 setKeepScreenOn() 添加到代码中,所以它看起来像这样:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
View root = findViewById(android.R.id.content);
if (root != null)
root.setKeepScreenOn(true);
我还检查了该代码是否实际执行,并且确实如此。但这并没有改变任何事情。