检测瞌睡状态

Kev*_*ssi 15 android android-6.0-marshmallow

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

stk*_*ent 21

我相信Intent你正在寻找的是ACTION_DEVICE_IDLE_MODE_CHANGED.从文档:

当isDeviceIdleMode()的状态发生变化时广播的意图.该广播仅发送给注册接收者.

文档isDeviceIdlemode如下:

如果设备当前处于空闲模式,则返回true.当设备一直处于未使用状态并且在足够长的时间内没有移动时会发生这种情况,因此它决定进入较低的电源使用状态.这可能涉及关闭对应用程序的网络访问等问题.您可以使用监视此状态的更改ACTION_DEVICE_IDLE_MODE_CHANGED.

返回

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

  • 看起来像打瞌睡和闲置是不一样的.尽管令人困惑 (2认同)
  • 确实令人困惑.在手机进入打盹模式之前,这个意图会被解雇吗? (2认同)
  • 根据文档https://developer.android.com/training/monitoring-device-state/doze-standby#testing_doze_and_app_standby进入打ze模式的命令是`adb shell dumpsys deviceidle force-idle`,所以我认为`idle`模式是与“打ze”模式相同。 (2认同)