Android 如何在深度睡眠时获得部分唤醒

Android 如何在深度睡眠时获得部分唤醒,android,wakelock,Android,Wakelock,当设备进入深度睡眠模式而不触发屏幕时,我们有没有办法获得部分怪锁 只有当设备处于唤醒状态(屏幕关闭)时,获取唤醒锁似乎才起作用 我需要把屏幕关上 编辑:我正在编辑我的问题以分享我的结论,我正在寻找一种方法,通过部分锁定将设备从深度睡眠中唤醒,但我走错了路,我真正的问题是在深度睡眠时处理音量按钮键,这似乎是不可能的,因为Android在深度睡眠时不播放音量按钮事件 当设备进入深度睡眠模式而不触发屏幕时,我们有没有办法获得部分怪锁 当然。根据定义,部分唤醒锁定不会在屏幕上打开 只有当设备处于唤醒状态

当设备进入深度睡眠模式而不触发屏幕时,我们有没有办法获得部分怪锁

只有当设备处于唤醒状态(屏幕关闭)时,获取唤醒锁似乎才起作用

我需要把屏幕关上

编辑:我正在编辑我的问题以分享我的结论,我正在寻找一种方法,通过部分锁定将设备从深度睡眠中唤醒,但我走错了路,我真正的问题是在深度睡眠时处理音量按钮键,这似乎是不可能的,因为Android在深度睡眠时不播放音量按钮事件

当设备进入深度睡眠模式而不触发屏幕时,我们有没有办法获得部分怪锁

当然。根据定义,部分唤醒锁定不会在屏幕上打开

只有当设备处于唤醒状态时,获取wakelock似乎才起作用

当然。您的代码仅在CPU执行指令时运行

WakeLock
不会唤醒设备。
WakeLock
使设备处于唤醒状态。部分
WakeLock
在不打开屏幕的情况下执行此操作

我需要把屏幕关上


虽然您可以通过使用部分WakeLock来避免自己打开屏幕,但如果其他应用程序认为这样做符合用户的利益(例如来电),则您无法阻止他们打开屏幕。

谢谢您的回复。那么我怎样才能唤醒cpu呢?@wanam:嗯,你需要选择一种触发机制。例如,如果您想在特定时间唤醒,请将
AlarmManager
\u WAKEUP
样式的警报一起使用。这将短暂唤醒设备并让您进行控制。从那里,您可以使用
WakefulBroadcastReceiver
、我的
WakefulIntentService
、或您自己的
WakeLock
(尽管我强烈建议使用前两个选项中的一个)。