2016-06-09 79 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?