Envoi de messages SMS longs
J'ai une application qui permet aux utilisateurs d'envoyer des messages sms. Fonctionne très bien lorsque le message < 160 caractères. Après cela, les choses sont moins parfaitement. Semble comme il y a quelques options ici:
- Manuellement briser le message en plusieurs Sms, envoyer chaque partie séparément SMS.
- Utiliser la partie multi-envoyer des SMS fonction (sendMultipartTextMessage()).
- Envoyer le message comme un message MMS (sendDataMessage()?).
Voici mon novice de prendre sur elle:
1)
plus bien pris en charge pour l'ensemble des opérateurs. Les utilisateurs peuvent obtenir des fous que vous venez de coût de N messages distincts si, au lieu de la conversion en MMS ou quelque chose.
2)
vous ne savez pas si c'est pris en charge par différents transporteurs, et de lire qu'une fois que le message est plus grand que 3 * 160 caractères en longueur, est converti en MMS de toute façon par les différents SMS apps - peut-être rester à l'écart de tout cela.
3)
vous ne savez pas comment faire cela, et les anciens téléphones ne prennent pas en charge les MMS. Pour envoyer un MMS à l'aide du kit SDK d'android, ne nous suffit d'utiliser la SmsManager.sendDataMessage() la méthode?
Grâce
source d'informationauteur Mark
Vous devez vous connecter pour publier un commentaire.
me semble que la première option est que la plupart des téléphones mobiles par défaut. sms de par leur conception ne peut envoyer une certaine quantité de caractères (160 probbaly), il suffit d'informer l'utilisateur que le message est trop gros et si il veut encore de l'envoyer de toute façon (en informant le nombre de sms serait le total de l'être).
comme pour les MMS et multipart comme vous l'avez dit pas chaque transporteur prend en charge, de sorte qu'ils ne semblent être la meilleure option.
EDIT: comme pour comment MMS de travail sur android-sdk vérifier ce fil: SDK Android MMS
C'est tout à fait un vieux post, mais c'est haut sur Google lors de la recherche pour Android multipart sms, donc peut-être que ça aide quelqu'un.
Concernant la partie 1 et 2, c'est à peu près la même chose. Pour utiliser sendMultipartTextMessage, vous avez besoin pour briser le long message dans une liste de tableaux de Chaînes de caractères. Ensuite, il envoie autant de SMS que nécessaire. En bref:
Partie 3: MMS n'est pas une option, comme il l'a été souligné. Les charges et tous les.
Je suggère l'utilisation de l'option 2 lorsque vous travaillez sur des Androïdes GSM téléphones.
Base GSM appareil Mobile prend soin de segmentation dans lequel casser les messages de multipartites pour l'envoi en réalisée et également l'assemblage des messages dans un message à la réception.
Si vous avez une méthode qui prend en charge l'envoi de messages texte, que, par défaut, utilisez les options du gestionnaire.divideMessage comme il fonctionne même si le message de segments requis ne sont que 1 nombre.
Je ne pense pas que vous devriez avoir aucun problème à l'envoi de messages en utilisant l'option 2 et il veillera également à ce que le récepteur reçoit le message comme un message unique.
Autre chose, nous devons écrire notre propre pile de protocole où vous écrivez le numéro de référence et le nombre de messages pour le destinataire de comprendre et de reproduire le message complet; ce qui n'est pas très difficile. Nous pouvons utiliser des tableaux d'octets avec des en-têtes et les messages peuvent être envoyés en tant que encodées en base64.
Aussi je ne sais pas beaucoup sur les limites de l'transporteurs à appliquer sur le nombre de segments dans le message multipart, sur la base de mon test, j'ai été en mesure d'envoyer et de recevoir des 160*8 segments. Basé sur le GSM normes les segments peuvent être jusqu'à 255 mais ce nombre dépend du prestataire de services de mise en œuvre.