我正在开发 Android 上的旧版 VOIP 应用程序。它现在不使用 Google Cloud Messaging 技术,只是永远保持自己的 TCP 连接。
最近,谷歌推出了带有打盹模式的 Android M 预览版
所以问题是:有什么解决方法可以让应用程序在打盹模式下接收来电/消息,而无需重新设计整个系统以使用 GCM?
我正在开发 Android 上的旧版 VOIP 应用程序。它现在不使用 Google Cloud Messaging 技术,只是永远保持自己的 TCP 连接。
最近,谷歌推出了带有打盹模式的 Android M 预览版
所以问题是:有什么解决方法可以让应用程序在打盹模式下接收来电/消息,而无需重新设计整个系统以使用 GCM?
您可以使用ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
请求用户权限被电池优化忽略。但是,请仔细检查Optimizing for Doze 和 App Standby,它似乎只允许用于企业 VoIP/IM(请参阅问题#33114063和#31154128)
不,GCM 似乎是唯一的方法。在此处查看对包括网络和 GCM 在内的打瞌睡模式问题的详细分析: https ://commonsware.com/blog/2015/06/03/random-musing-m-developer-preview-ugly-part-one.html