为Android创建PDU

ibo*_*zhe 3 sms android unit-testing pdu

我目前正在编写和申请,即发送/接收短信.

为了进行单元测试,我需要以编程方式创建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]);
    }
}
Run Code Online (Sandbox Code Playgroud)

是否有任何合适的方式以编程方式创建 PDU?

Emm*_*uel 10

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

String pdu = "07914151551512f2040B916105551511f100006060605130308A04D4F29C0E";
SmsMessage sms = SmsMessage.createFromPdu(HexDump.hexStringToByteArray(pdu));
Run Code Online (Sandbox Code Playgroud)

这是一个关于如何做到这一点的完整示例.

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

我希望这有帮助!!