从3gpp2(CDMA中的GSM)SMS / PDU告诉3gpp

时间:2015-10-22 11:59:59

标签: android telephony telephonymanager

我想在Android应用中收到短信发送通知。 我可以注册一个BroadcastReceiver,获取pdu,从pdu构造一个SmsMessage,并获取状态代码(sms.getStatus())。  看到 Android SMS delivery notification on failure: false positive

现在,状态代码是向左移位16位的CDMA(3gpp2)状态代码,或者是GSM(3gpp)状态代码。

要知道状态代码0的含义,我必须告诉GSM的CDMA消息。

对于CDMA,

0 = Message accepted
2 = Message delivered

而对于GSM

0 = Short message received by the SME
# that is, by the recipient phone

Android源代码会从网络类型中猜出消息类型,但不幸的是,这些内容被声明为private@hide

鉴于pdu,我需要找出其格式,以便能够解释零状态代码。

1 个答案:

答案 0 :(得分:0)

我从中提取pdu的意图还有另外一个:format => 3gpp。 不确定所有手机是否会提供它并从哪个API级别开始。