使用SmsManager快速发送文本会导致接收延迟吗?

时间:2016-06-14 05:02:17

标签: android smsmanager

我正在开发一个应用程序,通过文本将一些信息发送到几个不同的电话号码。我正在使用SmsManager来执行此操作。

为了进行测试,我使用for循环向我自己的电话号码发送大约5-15条短信。我注意到,在运行应用程序几次之后,几分钟之后收到一些短信时出现延迟。

这可能与我只使用自己的电话号码有关吗?如果我将它发送到5-15个不同的电话号码,我会发生这种情况吗?我想出了在发送消息之间有短暂延迟的解决方案(5秒),但似乎有时仍会有轻微的延迟。

如果您快速收到异常数量的文本,SmsManager,Android或我的服务提供商中是否隐藏了导致延迟的内容?

1 个答案:

答案 0 :(得分:0)

短信无法保证交货时间。完全没有。事实上,无法保证消息 EVER 能够传递。它类似于udp:fire and forget。 SMS消息基本上依赖于您的手机已经用于与运营商网络(而不是数据信道)通信的现有信号。因此,设备有时需要几秒钟甚至几分钟才能发送短信,如果/何时发送完全取决于您的运营商网络,接收方运营商网络,接收方电话状态等。

TL:DR;永远不要假设SMS会快速,交付或可靠。按照设计,这些都不是。它更像是一种“恰好如此,大多数情况下,幸福的道路通常都是体面的快速”。