我正在研究使用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