我正在研究使用SIP協議的IP語音(VoIP)應用程序,該協議要求應用程序監聽來電。這意味着應用程序不能睡覺或死亡。Android VoIP應用程序:PARTIAL_WAKE_LOCK vs忽略電池優化(打盹白名單)
對於舊的代碼,似乎要做到這一點的方法是獲得PARTIAL_WAKE_LOCK。
現在來自Android 6.0及更高版本,有新的Doze。建議,如果您不希望自己的應用進入待機狀態,則應通過請求REQUEST_IGNORE_BATTERY_OPTIMIZATIONS權限將其「白名單」。這是專門針對根據documentation的VoIP應用。
這兩個不同的事情似乎是相關的。我不知道它們之間的關係,如果他們相互干擾,如果我要使用一個或另一個或兩個,如果有其他考慮。請解釋。
另外,我不允許在此項目上使用推送通知。如果您有其他建議來保存電池,請告訴我。
所以,如果我明白你在說什麼,我應該使用一個或另一個,但不是兩個?但打盹白名單從Android 6.0開始(API等級23)。因此,我應該只對較舊的操作系統版本使用PARTIAL_WAKE_LOCK,併爲23級使用Doze白名單? 在這個項目上,我必須使用SIP,我不能使用推送通知。 – Emmanuel
是的,使用PARTIAL_WAVE_LOCK所有版本和API> = 23要求白名單 –
我沒有按時按下您的答案,所以賞金剛剛消失。愚蠢的賞金規則不會讓我寄給你全額獎金。我不知道他們爲什麼決定這樣做。我希望我現在可以給你全額獎金。 – Emmanuel