Je souhaite recevoir une notification de livraison par SMS dans une application Android. Je pourrais enregistrer un BroadcastReceiver
, obtenir le pdu, construire un SmsMessage
à partir du pdu, et obtenir le code d'état (sms.getStatus()
). Voir Android SMS delivery notification on failure: false positive. Maintenant, le code d'état est soit un code d'état CDMA (3gpp2) décalé à gauche de 16 bits, soit un code d'état GSM (3gpp).tell 3gpp from 3gpp2 (GSM from CDMA) SMS/PDU sous Android
Pour savoir ce que le code d'état 0 signifie, je dois dire un message CDMA d'un GSM.
Pour CDMA,
0 = Message accepted
2 = Message delivered
alors que pour GSM
0 = Short message received by the SME
# that is, by the recipient phone
La source Android devine le type de message du type de réseau, mais malheureusement, ce genre de choses est déclarée comme non private
ou @hide
. Étant donné un pdu, j'ai besoin de trouver son format pour pouvoir interpréter le code d'état zéro.