2

我正在开发一个短信网关应用程序,它从客户端应用程序接收短信,对其执行一些操作并将数据上传到服务器。

在客户端应用程序中,当消息长度超过 160 个字符时,我使用该方法sendMultipartTextMessage拆分消息后执行。divideMessage然而,当在 SMS 网关设备中接收到消息时,onReceive每个呼叫BroadcastReceiver只获得一个PDU,并且同一条短信的不同部分作为不同的短信被接收。

是否有一些设置可以启用接收多部分短信?我正在使用华为 u8150 Helios 设备作为网关。我已经植根了设备,如果需要,我可以更改系统设置。

提前致谢。

4

1 回答 1

0

对于那些正在寻找我如何解决这个问题的人,这就是我所做的:

发件人:

  • 我没有使用内置的divideMessage,而是创建了自己的divideMessage,它返回一个ArrayList<String>,其中每个元素都有一个前缀,其长度为 <= 150(根据经验找到的数字)。
  • ArrayList<String>使用内置的sendMultipartTextMessage.

接收者:

  • 获取消息的前缀并将消息存储在本地数据库中。
  • 从前缀看它的所有其他部分是否已到达。如果是,则合并所有部分并进行处理。

注意:前缀中包含的内容以及所有部分如何合并不在本次讨论的范围内。

于 2011-09-16T22:07:30.027 回答