-1

我需要向我的应用程序中的某个活动添加什么代码才能让它覆盖用户手机的睡眠设置。我希望屏幕在某些活动期间无法关闭。

4

3 回答 3

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

强制屏幕始终打开,并且

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

回到默认行为。

于 2013-07-18T23:30:37.243 回答
0

如果通过“某个活动”,您的意思是“当某个活动Activity在前台时”,最简单的方法是android:keepScreenOn="true"在该活动的布局中添加一些小部件。只要该小部件可见,屏幕就不会关闭。这适用于视频播放器之类的东西。FLAG_KEEP_SCREEN_ON迄今为止贡献的另一个答案中的方法做同样的事情,需要更多的打字。:-)

于 2013-07-18T23:31:23.623 回答
0

我建议你使用 WakeLock。

像这样:

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

然后使用:

wl.acquire();
wl.release();
于 2013-07-19T00:37:04.170 回答