覆盖屏幕睡眠

时间:2013-07-18 23:27:59

标签: android

我需要将哪些代码添加到应用中的某个活动,以使其覆盖用户手机的睡眠设置。我希望屏幕在某个活动期间无法关闭。

3 个答案:

答案 0 :(得分:0)

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

强制屏幕始终打开,

getWindow().clearFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

返回默认行为。

答案 1 :(得分:0)

如果通过“某个活动”,则表示“当某个Activity位于前台”时,最简单的方法是将android:keepScreenOn="true"添加到该活动布局中的某个窗口小部件中。只要该窗口小部件可见,屏幕就不会关闭。这适用于视频播放器等。到目前为止贡献的另一个答案中的FLAG_KEEP_SCREEN_ON方法做了同样的事情,打字更多。 : - )

答案 2 :(得分:0)

我建议你使用WakeLock。

像这样:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
    PowerManager.WakeLock wl = pm.newWakeLock(
            PowerManager.PARTIAL_WAKE_LOCK,
            "Screenlock active");

然后使用:

wl.acquire();
wl.release();