我正在为1.6及以上版本开发一个android应用程序,通过端口发送和接收短信。
要使用以下方法发送短信:
smsmanager.sendDataMessage(字符串destinationaddress、字符串scaddress、short destinationport、byte[]data、pendingEntent sentinent、pendingEntent deliveryIntent)
但是已经发现byte[]数据应该只包含消息体。似乎没有可用于发送多部分数据消息的方法,也没有可用于修改sms头(udh)以指定消息(例如,1/3)的方法。
当我试图从通过指定端口接收到的短消息中提取消息计数信息时,接收端也遇到了类似的问题。我正在使用smsmessage.getpdu()提取包含消息头和消息体的字节[],但无法从头数据中提取特定信息。
有人知道android平台使用的短信头格式吗?
最佳答案
你需要检查3gpp短信规范。对我来说,我从第30和第31字节得到目的地端口信息。