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

10-13 09:07