在我的應用程序中,我開始使用流式音樂通知的前臺服務,但是在打開節電模式(Nexus)或省電模式模式(三星)只有在運行Android 6.0+時,前臺服務纔會停止,因此音樂也會停止。如何避免讓我的前臺服務在Android M上的電池/省電模式下停止
即使在省電模式下,是否有辦法使前臺服務停止?電池/省電模式的行爲與打盹模式類似嗎?
在我的應用程序中,我開始使用流式音樂通知的前臺服務,但是在打開節電模式(Nexus)或省電模式模式(三星)只有在運行Android 6.0+時,前臺服務纔會停止,因此音樂也會停止。如何避免讓我的前臺服務在Android M上的電池/省電模式下停止
即使在省電模式下,是否有辦法使前臺服務停止?電池/省電模式的行爲與打盹模式類似嗎?
你有它。電池密集型操作通常在這種模式下被阻止。您可以做的最好的做法是確保設備恢復正常操作時操作恢復正常。首先測試這是否會自動發生;如果不是,則使用電池API查找何時重新啓動服務應該非常簡單。希望這有助於...
你可能會遇到一個已知的bug: https://code.google.com/p/android/issues/detail?id=193802。有一個修復它:https://android-review.googlesource.com/#/c/221708/,但它只進入N(對於nexus設備)和M MR1。
解決方法是通過使用Context.BIND_AUTO_CREATE | Context.BIND_IMPORTANT
在單獨的進程中啓動服務來創建單獨的進程,以使您的應用程序保持活動狀態。
爲了清楚我測試的是哪種保存模式,它在Nexus 5上設置了省電模式(橙色狀態欄<15%)。在三星測試時,它處於省電模式(不是超節電模式)。我的網絡對服務器的呼叫被阻止。 – Sergex
事實上,前臺服務似乎並未停止,但網絡呼叫肯定被阻止。 – Sergex