SMS如何工作(使用Android设备)?

时间:2017-11-06 02:40:41

标签: android sms mms rich-comm-service

我们正在开发基于Google的Rich Messaging Platform(RCS)的应用程序,我想问一些有关如何将SMS发送到Android设备的具体问题。

有关理解的问题:

SMS消息是否已发送到Android操作系统或消息应用程序?

是否正在将SMS消息(即推送通知)推送到Android操作系统或消息应用程序中?如果没有,它是否被拉 - 以及如何?

就消息的传送方式而言,MMS的工作方式与SMS相同吗?

重要问题:

如果我们正在开发一个RCS应用程序来取代SMS。是否可以直接处理接收短信?也就是说,与SMS的交互将完全绕过Android操作系统和/或其他(默认)消息传递应用程序。

编辑 - 添加了以下问题:

post表示我们可以收听传入的短信/彩信。所以,这是一个问题:

我们的应用是否是唯一可以收听短信/彩信的应用?

如果上述问题的答案为否,那么(在用户阅读我们的应用程序上的消息之后),我们的应用程序是否可以向其他SMS消息应用程序发送消息以删除批次计数和将邮件设置为读取?

如果我们的应用不使用直接启动,短信/彩信会因为无法发送而丢失,无论我们的应用是否是唯一的短信/彩信应用?

而且,这个问题需要理解:

据我所知,SMS / MMS是电话系统的一部分,而RCS则不是。你能否证实我的理解是正确的?

谢谢!

1 个答案:

答案 0 :(得分:2)

据我所知,这就是SMS在Android上的工作方式:

  

SMS消息是否已发送到Android操作系统或消息应用程序?

SMS消息作为电话/蜂窝系统的一部分发送到Android OS。它们绝对不会被推送到任何特定的消息传递应用程序,因为传入的消息直接来自蜂窝提供商到设备(也就是OS /固件)。用户与之交互的消息传递应用程序只是一个" front"用于显示和与用户交互以在接收到它们时发送/显示消息。您实际上可以更改Android上的默认消息传递应用程序,这进一步证明SMS实际上是操作系统的一部分。

  

是否正在推送SMS消息(即推送通知)   Android操作系统或消息应用?如果没有,它是否被拉 - 以及如何?

就像来电一样,短信被推送到#34;设备,但不是你可能熟悉的方式,如推送通知(即GCM)。推送通知的概念是存在于IP层上的东西;也就是说,它是在互联网上运行的服务。设备接收SMS消息的类型是电话系统的一部分。这就是为什么,例如,设备仍然可以在关闭移动数据的情况下接收短信,但无法接收Facebook消息的通知。

  

就消息的方式而言,MMS的工作方式与SMS相同   递送

是的,它们基本上以与上述相同的方式工作,除了它们有一些额外的协议来处理从蜂窝网络接收的数据以获取图像之类的东西。数据仍在此电话网络上传输,而不是通过Internet传输(大部分)。现在有MMS的实现可以捎带在互联网上以更快地获取和加载图像,但这可能是特定于运营商的。

  

如果我们正在开发一个RCS应用程序来取代SMS。可以交易   直接接收短信?

这取决于你打算做什么。您无法从根本上更改电话网络上的SMS协议,因为这不在您的控制范围内作为应用程序。但是,您可以创建一个应用程序来监视和侦听在OS中收到的SMS消息。您可以查看此post有关如何执行此操作的信息。如果您想创建自己的RCS,您几乎必须通过Internet完成此操作。像WhatsApp这样的服务巧妙地将电话短信和标准互联网短信结合起来,创造出看似无缝的体验。如果没有进一步了解您正在尝试构建的内容,我将无法提供更多帮助。

最后,您应该将原生短信视为手机的一部分。有关SMS如何工作的进一步阅读,我建议SMS Wikipedia page。我希望我能回答你的一些问题!