我已按照此stackoverflow post将我的Nexus 5设备设置为“IDLE'关闭屏幕后,使用adb进行状态。
> adb shell dumpsys battery unplug
> adb shell dumpsys deviceidle step
Stepped to: IDLE
尽管如此,我还是能够通过设备日志查看收到的GCM通知。
1-04 15:21:40.708 22138 26007 I GCM : GCM message com.sample.app 0:1446610899548646%82d6ec5bf9fd7ecd
我的理解是,打盹模式将允许某些维护窗口批量推送普通优先级通知,所以我不希望看到这样的日志条目。 (我还记录了收到的Bundle
中的所有条目,并且可以看到通知的所有属性)
当我将设备置于IDLE_MAINTENANCE
模式时,我看不到设备收到任何进一步的通知(大概是因为它已经收到了它)
我一直在推送包含和排除优先级属性的有效负载通知,但它似乎没有什么区别。
我正在使用Android内部版本号为MRA58K的设备进行测试,项目使用的是Google Play服务版本8.1.0。
此外,仅当设备处于“空闲状态”时,我才能访问网络(以响应GCM通知)。 state,表明deviceidle步骤确实有一些效果。
我是否缺少一个步骤,以便将设备设置为正确的“空闲”状态。模式?