如何让安卓设备在插入时不休眠

Posted

技术标签:

【中文标题】如何让安卓设备在插入时不休眠【英文标题】:How to keep android device from sleeping while plugged in 【发布时间】:2010-10-16 17:20:18 【问题描述】:

我想在我的一项活动正在运行并且手机已插入电源时保持屏幕亮起。我知道 Wakelocks 很棘手,所以我正在寻找有关如何实现此特定目标的示例或一些文档。

【问题讨论】:

【参考方案1】:

不要为此使用唤醒锁 - 只需根据设备当前是否插入来设置和清除窗口标志 WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON。您可以使用 Activity.getWindow().addFlags() 设置标志。

所以代码是

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

【讨论】:

【参考方案2】:

WakeLock 并没有那么棘手,只需确保在调用 acquire() 时检查它是否已被保留,并确保在调用 release() 时它被保留.您还需要确保在清单文件中定义了 android.permission.WAKE_LOCK 权限。

如果您只想在手机插入时获取 WakeLock,您可以注册一个 BroadcastReceiver 来监视 android.intent.action.ACTION_POWER_CONNECTEDandroid.intent.action.ACTION_POWER_DISCONNECTED 意图。我自己没有使用过这些,因此在这些意图真正起作用之前,您可能需要获得一些应用程序权限。

【讨论】:

以上是关于如何让安卓设备在插入时不休眠的主要内容,如果未能解决你的问题,请参考以下文章

jmeter如何让请求休眠2ms

黑苹果休眠后唤醒黑屏只有鼠标能动

如何在休眠中提交批量插入?

如何使用休眠插入加密数据

休眠中的保存方法不立即插入

在休眠多租户应用程序中启动时不查找数据源