我正在开发一个应用程序,通过文本将一些信息发送到几个不同的电话号码。我正在使用SmsManager来执行此操作。
为了进行测试,我使用for循环向我自己的电话号码发送大约5-15条短信。我注意到,在运行应用程序几次之后,几分钟之后收到一些短信时出现延迟。
这可能与我只使用自己的电话号码有关吗?如果我将它发送到5-15个不同的电话号码,我会发生这种情况吗?我想出了在发送消息之间有短暂延迟的解决方案(5秒),但似乎有时仍会有轻微的延迟。
如果您快速收到异常数量的文本,SmsManager,Android或我的服务提供商中是否隐藏了导致延迟的内容?
答案 0 :(得分:0)
短信无法保证交货时间。完全没有。事实上,无法保证消息 EVER 能够传递。它类似于udp:fire and forget。 SMS消息基本上依赖于您的手机已经用于与运营商网络(而不是数据信道)通信的现有信号。因此,设备有时需要几秒钟甚至几分钟才能发送短信,如果/何时发送完全取决于您的运营商网络,接收方运营商网络,接收方电话状态等。
TL:DR;永远不要假设SMS会快速,交付或可靠。按照设计,这些都不是。它更像是一种“恰好如此,大多数情况下,幸福的道路通常都是体面的快速”。