在活动中保持屏幕开启 - 不适用于FLAG_KEEP_SCREEN_ON

时间:2013-03-03 19:22:56

标签: android android-activity screen usb-debugging

所以,很长一段时间我以为我知道如何阻止屏幕进入睡眠模式,我只是在我的Activity中使用了这段代码:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

然而,我意识到这只适用于我的手机处于“开发者模式”时,即启用/检查USB调试(设置 - >开发者选项 - > USB调试)时。然后上面的代码确实阻止屏幕/设备进入睡眠状态。

当没有检查那个调试时,我的屏幕会像没有明天一样进入睡眠状态。我在我的设备上运行Android 4.04,并且

 android:minSdkVersion="12"
 android:targetSdkVersion="16"

有人听说过这个问题吗?

修改

我已经使用Commonswares建议进行了测试,并将setKeepScreenOn()添加到代码中,所以它看起来像这样:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 
View root = findViewById(android.R.id.content); 
if (root != null)
    root.setKeepScreenOn(true);

我也检查过这个代码实际执行了,确实如此。但它并没有改变一件事......

1 个答案:

答案 0 :(得分:1)

我遇到同样的问题,我正在为我的项目使用一个活动而所有其他屏幕都是片段,然后我在主要活动中使用了android:keepScreenOn="true"

请尝试使用此功能,如果您没有得到您想要的结果,请告诉我。

感谢。