3

我目前正在编写和应用程序,即发送/接收 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?

4

1 回答 1

10

通常 PDU 在代码中是硬编码的。与此类似:

String pdu = "07914151551512f2040B916105551511f100006060605130308A04D4F29C0E";
SmsMessage sms = SmsMessage.createFromPdu(HexDump.hexStringToByteArray(pdu));

这是有关如何执行此操作的完整示例。

现在,你会问我“我在哪里可以找到用于测试的 PDU?” 你生成它。例如,您可以使用在线服务。

我希望这有帮助!!

于 2011-09-28T13:44:39.320 回答