目标
创建一个具有网络连接的长期运行的后台服务,类似于泽洛应用程序。
问题
从API级别26 (Oreo)开始,对后台服务及其网络活动有严格的限制。
看看Zello应用程序,它有一个不断运行的后台服务,能够接受音频和短信,即使设备正在睡觉,我想知道他们是如何实现这一点的?他们的服务不是在前台运行的。而且,它看起来不像他们使用推消息,因为应用程序工作相当稳定的情况下,推消息接收有问题(例如低端小米手机)。
任何想法都将不胜感激。
发布于 2020-01-14 15:36:08
根据我收集到的这些应用程序,使用Firebase消息传递服务:https://firebase.google.com/docs/cloud-messaging/
Firebase服务嵌入到Android系统中,并与firebase服务器保持恒定的网络连接。然后,应用程序与firebase服务器联系,后者依次通知目标设备。
优势:
缺点:
一个类似的问题也可能有助于解决这个问题:如何在Android上推送通知技术?
发布于 2020-01-14 15:20:24
这些应用程序没有长期运行的服务,网络连接是固定的。他们使用推送通知。当用户收到新消息时,服务器发送推送通知以唤醒设备。
https://stackoverflow.com/questions/59681239
复制相似问题