我有发送二进制短信的 midlet 应用程序。负责发送短信的部分代码(从一些教程中复制):
MessageConnection smsConnection =
(MessageConnection)Connector.open(destAddress);
//Create binary message
BinaryMessage binaryMSG = (BinaryMessage)smsConnection.newMessage(
MessageConnection.BINARY_MESSAGE);
//Setting destination add
binaryMSG.setAddress(destAddress);
//Add payload data
binaryMSG.setPayloadData(data);
//Now send the message
smsConnection.send(binaryMSG);
smsConnection.close();
我已经在诺基亚 e51、e52 和 3120c 手机上对其进行了测试,一切似乎都还不错。然后我检查了收到的数据。从 e52 和 3120c 手机接收的数据正常,但来自 e51 的数据已损坏。一些字节值被更改为 0x1a 值。所有这些更改的字节的值都在 0x83 和 0x9e 之间。有人知道这是什么原因吗?
编辑:我想在 SMSC 上手之前看到 SMS PDU,是否有可能看到我正在发送的 SMS 的 PDU?MessageConnection 类和 Message 接口似乎功能很差。