如何在插入时防止Android设备睡觉
-
08-10-2019 - |
题
每当我的一项活动正在运行并将手机插入电源时,我都想保留屏幕。我知道Wakelocks很棘手,因此我正在寻找有关如何实现此特定目标的示例或一些文档。
解决方案
不要为此使用唤醒锁 - 只需设置并清除窗口标志 WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
根据当前是否插入设备。您可以用 Activity.getWindow().addFlags()
.
因此代码将是
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
其他提示
一个 WakeLock
这不是那么棘手,只需确保检查它在打电话时尚未持有 acquire()
并确保它 是 打电话时举行 release()
. 。您还想确保您有 android.permission.WAKE_LOCK
在您的清单文件中定义了权限。
如果您只想在手机插入手机时获取Wakelock,则可以注册 BroadcastReceiver
看着 android.intent.action.ACTION_POWER_CONNECTED
和 android.intent.action.ACTION_POWER_DISCONNECTED
意图。我自己还没有使用这些,因此可能需要获得一些申请许可,然后才能真正起作用。
不隶属于 StackOverflow