2011-08-31 77 views
3

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

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

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

在此先感谢。

回答

0

对于那些你们谁是寻找我是如何解决这个问题,这是我做的:

发件人:

  • ,而不是使用内置的divideMessage,我创建了自己divideMessage,其返回ArrayList<String>,其中每个元素将具有前缀并且其长度为< = 150(经验发现号码)。
  • 使用内置的sendMultipartTextMessage发送上述获得的消息ArrayList<String>

接收机:

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

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