0

我正在考虑在我的应用程序中设置唤醒锁,但现在我注意到不推荐以某种方式执行此操作。我在某处看到我可以做到这一点:

this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, 
            WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

这就像唤醒锁一样,所以我还需要它的权限吗?

编辑:我做了更多的研究,WakeLock 没有被弃用,使用 FULL_WAKE_LOCK 是... http://developer.android.com/reference/android/os/PowerManager.html(查看常量中的 FULL_WAKE_LOCK)

4

2 回答 2

0

WakeLocks 没有被弃用,虽然你在技术上不需要许可来这样做,但在没有许可给出的某种警告的情况下保持用户屏幕可见和出现可能是不礼貌的。

于 2013-08-12T22:53:08.680 回答
0

除了弃用之外,这些保持屏幕开启的方法之间存在差异。即使用户切换到其他应用程序,完整的唤醒锁定也会使屏幕保持打开状态并保持处理器运行。为了让它停止,您需要释放唤醒锁。然而,使用 WindowManager 将允许操作系统处理它,从而使您更简单,并且不太可能不必要地耗尽最终用户的电池。

于 2013-08-12T23:31:26.380 回答