我目前正在编写和应用程序,即发送/接收 SMS 消息。
出于单元测试目的,我需要以编程方式创建 PDU。解码非常简单:
Bundle bundle = intent.getExtras();
if (bundle != null) {
/* Get all messages contained in the Intent*/
Object[] pdusObj = (Object[]) bundle.get("pdus");
for (int i = 0; i < pdusObj.length; i++) {
SmsMessage msg = SmsMessage.createFromPdu((byte[])pdusObj[i]);
}
}
是否有任何适当的方法以编程方式创建 PDU?
最佳答案
通常,PDU 是硬编码在代码中的。与此类似:
String pdu = "07914151551512f2040B916105551511f100006060605130308A04D4F29C0E";
SmsMessage sms = SmsMessage.createFromPdu(HexDump.hexStringToByteArray(pdu));
Here's 关于如何执行此操作的完整示例。
现在,你会问我“我在哪里可以找到用于测试的 PDU?”你生成它。例如,您可以使用 this 在线服务。
我希望这有帮助!!
关于android - 为 Android 创建 PDU,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5822806/