首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有网络连接的Android后台服务

带有网络连接的Android后台服务
EN

Stack Overflow用户
提问于 2020-01-10 11:57:54
回答 2查看 636关注 0票数 0

目标

创建一个具有网络连接的长期运行的后台服务,类似于泽洛应用程序。

问题

从API级别26 (Oreo)开始,对后台服务及其网络活动有严格的限制。

看看Zello应用程序,它有一个不断运行的后台服务,能够接受音频和短信,即使设备正在睡觉,我想知道他们是如何实现这一点的?他们的服务不是在前台运行的。而且,它看起来不像他们使用推消息,因为应用程序工作相当稳定的情况下,推消息接收有问题(例如低端小米手机)。

任何想法都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2020-01-14 15:36:08

根据我收集到的这些应用程序,使用Firebase消息传递服务:https://firebase.google.com/docs/cloud-messaging/

Firebase服务嵌入到Android系统中,并与firebase服务器保持恒定的网络连接。然后,应用程序与firebase服务器联系,后者依次通知目标设备。

优势:

  • Android系统负责保持服务器连接正常运行。
  • 网络负载被最小化,因为使用firebase服务的所有应用程序都使用了一个连接。

缺点:

  • 所有数据都通过防火墙服务器发送,因此(理论上)由Google直接访问。
  • 如果你不知道有多少设备使用你的应用程序,你就需要为你的服务付费。

一个类似的问题也可能有助于解决这个问题:如何在Android上推送通知技术?

票数 1
EN

Stack Overflow用户

发布于 2020-01-14 15:20:24

这些应用程序没有长期运行的服务,网络连接是固定的。他们使用推送通知。当用户收到新消息时,服务器发送推送通知以唤醒设备。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59681239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档