gpt4 book ai didi

android - 将数据从服务器发送到 Android 设备的最佳方法

转载 作者:IT老高 更新时间:2023-10-28 23:00:25 25 4
gpt4 key购买 nike

我正在开发一个需要与服务器进行双向通信的 Android 应用。我的意思是服务器或设备可以随时发送消息,消息之间有任意时间。将数据从设备发送到服务器是一项常见且我认为很好理解的任务,但我不确定最好的方法是从服务器到设备的相反方向。

由于延迟和电池消耗,我认为让设备定期轮询服务器可能不是一个好主意,但我愿意考虑这个选项。我目前的计划是通过电子邮件到短信桥从服务器发送短信,并让我的应用程序运行服务来接收和处理这些消息。

我的问题是,对于这种情况是否有任何最佳做法,以及使用短信是否有一些我没有考虑到的缺点。对于这个问题,我想假设用户拥有无限的文本数据计划,因此按文本付费不会成为问题。

最佳答案

这就是 XMPP擅长。 :)

参见 Smack Java 库,或 asmack Android 定制版本。

对于使用 asmack 进行长期双向通信的 Android 应用,请参阅 BuddyDroid .

编辑,回复以下评论:
在您的情况下,这种方法的优点是您可以立即向客户端推送无限量的消息,而不会出现 SMS 的延迟(或非保证交付)。 XMPP 还为您提供连接安全性、压缩以及在其上分层您自己的扩展的能力。
此外——我不知道你的目标是谁或者这是否适用——这样你就不需要依赖用户拥有无限的文本计划(但当然你需要一个数据计划)。

ProsodyTigase如果您有兴趣并正在寻找服务器(有几个开源的)。

但是,重新阅读您的问题后,您似乎暗示 Activity 率较低,因此无论您的应用程序是什么,都可能不值得维护(登录、检测连接丢失、重新连接)XMPP session 。

最后.. 虽然您可以在 Android 设备上拦截传入的 SMS 消息,但您 不能阻止它们出现在用户的消息收件箱中。因此,您可以处理传入的 SMS,但不能告诉系统丢弃该消息。
我最近发现这不是真的:如果你在你的 SMS 监听 intent-filter 上定义一个 android:priority 属性,你会收到一个“ordered broadcast”它允许您 cancel传入的 SMS 在传播到其他应用程序(如 SMS 收件箱)之前广播。请注意,这仅适用于 Android 1.6 及更高版本。

关于android - 将数据从服务器发送到 Android 设备的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2078198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com