2015-10-22 1 views
0

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.

Répondre

0

L'intention à partir de laquelle j'extraire le pdu a un autre extra: format => 3gpp. Vous ne savez pas si tous les téléphones le fourniront et à partir de quel niveau d'API.