2016-06-09 44 views
0
  1. 是否存在睡眠模式回调(在打瞌睡第一级/第二级,开始/结束维护窗口)?
  2. 有没有办法解决不依赖于用户认可的打盹模式?
  3. 在之前的版本(Android M及更小版本)中,我使用了Android服务和部分唤醒锁来在应用程序处于后台时下载和处理数据。当Android N进入打盹模式时,是否有办法在后台下载和处理数据?

回答

2

是否有回调上瞌睡模式(对打盹第一/第二级,在维护窗口的开始/结束)?

如果您有一个运行过程,您可以注册一个接收器the ACTION_DEVICE_IDLE_MODE_CHANGEDACTION_POWER_SAVE_MODE_CHANGED broadcasts。前者应该对应于打盹模式。

有没有办法解决不依赖于用户批准的打盹模式?

我不知道什么是“解决方法打盹模式”的意思。您可以在AlarmManager上使用...AndAllowWhileIdle()方法,但我有不同的结果。您可以使用GCM(或现在的FCM)。见the documentation

在以前的版本(Android M及更小版本)中,我使用Android服务和部分唤醒锁来在应用程序处于后台时下载和处理数据。

您的部分唤醒锁应该在Android 6.0(也称为M)的打盹模式下被撤销。同样,您不应该在Android 6.0的打盹模式下访问Internet。

当Android N进入打盹模式时,是否有办法在后台下载和处理数据?

对于完整的打盹模式,Android N似乎没有改变的东西。对于Android N引入的部分打盹模式,您的部分唤醒锁定应该可行,但我对网络访问不确定。

0
  • 在以前的版本(版本的Android M和更小)我使用的Android服务和局部唤醒锁下载并处理数据,而 应用在背景。当Android N进入打盹模式时,是否有办法在后台下载并处理 数据?
  • 当器件进入打盹模式的大部分功能停止,由于事实上德CPU停止,那么方法应该是,以避免进入打盹模式:

    为我的作品的事情是使用前景服务,这是一个调用startForeground()(1)并显示不可忽视的通知的服务,则会遵守部分唤醒锁定并且设备不会进入打盹模式。

    (1)的Android 8的方法开始启动一个前景服务已经改变Android O - Old start foreground service still working?