【问题标题】:Detecting Doze State检测打盹状态
【发布时间】:2016-08-24 20:12:31
【问题描述】:

是否可以检测设备何时进入打盹/待机状态?我无法在 Android 文档中找到任何关于我可以启用或创建以接收这些转换通知的可能的广播接收器或侦听器的内容。

【问题讨论】:

    标签: android android-6.0-marshmallow


    【解决方案1】:

    我相信您正在寻找的IntentACTION_DEVICE_IDLE_MODE_CHANGED。来自文档:

    当 isDeviceIdleMode() 的状态改变时广播的 Intent。此广播仅发送给已注册的接收者。

    isDeviceIdlemode的文档如下:

    如果设备当前处于空闲模式,则返回 true。当设备在足够长的时间内未使用且不动,从而决定进入低功耗状态时,就会发生这种情况。这可能涉及关闭对应用程序的网络访问等操作。您可以使用ACTION_DEVICE_IDLE_MODE_CHANGED 监控此状态的变化。

    退货

    如果当前处于活动设备空闲模式,则返回 true,否则返回 false。这是积极应用空闲模式限制的时候;如果设备处于长期空闲模式但当前正在运行已解除限制的维护窗口,它将返回 false。

    【讨论】:

    • 有趣吗?是否也希望在打盹模式下指示正确的值?鉴于据我所知,任何 cpu 工作实际上都会停止 [甚至运行此方法]。
    • 看起来打瞌睡和空闲不一样。尽可能令人困惑
    • 确实令人困惑。那么这个意图会在手机进入打盹模式之前被触发吗?
    • Per docs developer.android.com/training/monitoring-device-state/… 进入打盹模式的命令是adb shell dumpsys deviceidle force-idle 所以我假设idle 模式与doze 模式相同。
    • 我的大脑爆炸了 :) isDeviceIdlemode = false 实际上是我应该做事的时期。是从 Doze 恢复处理消息的时间?
    猜你喜欢
    • 1970-01-01
    • 2015-10-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多