2010-07-21 3 views
5

Je développe une application Android pour la version 1.6 et supérieure qui envoie et reçoit des messages SMS via un port. Pour envoyer le SMS J'utilise la méthode:Est-il possilbe de lire et/ou modifier l'en-tête SMS sur Android?

SmsManager.sendDataMessage (String destinationAddress, String scAddress, DestinationPort court, octet [] données, PendingIntent sentIntent, PendingIntent deliveryIntent)

mais ont découvert que la Les données byte [] ne doivent contenir que le corps du message. Il semble n'y avoir aucune méthode disponible pour envoyer des messages de données en plusieurs parties et aucun moyen de modifier l'en-tête SMS (UDH) pour spécifier que les messages sont, disons, 1 sur 3.

J'ai un problème similaire sur la fin de la réception lorsque vous essayez d'extraire les informations de comptage des messages du SMS que j'ai reçu via le port spécifié. J'utilise SMSMessage.getPdu() pour extraire un byte [] contenant l'en-tête du message et le corps du message mais je n'ai aucun moyen d'extraire les informations spécifiques des données d'en-tête. Quelqu'un connaît-il le format utilisé par la plateforme Android pour les en-têtes SMS?

Toute aide serait grandement appréciée.

Répondre

-1

Vous devez vérifier les spécifications SMS 3GPP. Pour moi, j'ai reçu l'information du port de destination du 30ème et 31ème octet.