我想在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,我需要找出其格式,以便能够解释零状态代码。
答案 0 :(得分:0)
我从中提取pdu的意图还有另外一个:format => 3gpp
。
不确定所有手机是否会提供它并从哪个API级别开始。