我目前正在编写和应用程序,即发送/接收短信。
出于单元测试的目的,我需要以编程方式创建 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]);
}
}
有没有什么合适的方法createPDU 以编程方式?
通常 PDU 是硬编码在代码中的。与此类似:
String pdu = "07914151551512f2040B916105551511f100006060605130308A04D4F29C0E";
SmsMessage sms = SmsMessage.createFromPdu(HexDump.hexStringToByteArray(pdu));
Here's https://android.googlesource.com/platform/frameworks/opt/telephony/+/idea133/tests/telephonytests/src/com/android/internal/telephony/GsmSmsTest.java有关如何执行此操作的完整示例。
现在,您可能会问我“在哪里可以找到用于测试的 PDU?”你生成它。例如,您可以使用this http://www.smartposition.nl/resources/sms_pdu.html#PDU_CONVERTER在线服务。
我希望这有帮助!!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)