Cet article explique facilement SMS / MMS sur Android, fournit simplement exemple de code pour l' envoi de SMS et la réception de SMS: codeproject.com/Articles/1044639/...
merci pour votre code. et je veux ajouter, car j'ai besoin de mettre mon texte prédéfini. J'ai obtenu cette solution Intent intent = new Intent (Intent.ACTION_VIEW, Uri.parse ("sms:" + phoneNumber)); intent.putExtra ("sms_body", message); startActivity (intention);
djk le
1
comment définir "phoneNumber" de la liste de contacts?
Saeed M.
@djk merci, je veux lire tous les contacts et je veux ma propre page pour l'envoi de sms avec la saisie semi-automatique, mais je ne suis pas en mesure de lire les contacts d'un bon tutoriel?
Guru
J'utiliserais le widget de composition de sms par défaut pour le faire. laissez simplement le numéro de téléphone vide (c'est facultatif)
shem
1
Salut. je veux envoyer des sms en masse. comme 10 000 sms envoyés en un seul clic. C'est possible ? J'ai entendu android envoyer 30 sms toutes les 30 minutes. plz help me
Vrajesh
151
Cela a fonctionné pour moi.
publicvoid onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);
setContentView(R.layout.main);Button btnSendSMS =(Button) findViewById(R.id.btnSendSMS);
btnSendSMS.setOnClickListener(newView.OnClickListener(){publicvoid onClick(View v){
sendSMS("5556","Hi You got a message!");/*here i can send message to emulator 5556. In Real device
*you can change number*/}});}//Sends an SMS message to another deviceprivatevoid sendSMS(String phoneNumber,String message){SmsManager sms =SmsManager.getDefault();
sms.sendTextMessage(phoneNumber,null, message,null,null);}
Vous pouvez ajouter cette ligne dans AndroidManifest.xml
La question demande d'afficher le SMS dans la vue de composition standard. C'est exactement le contraire, envoyer des SMS dans le dos de l'utilisateur, non?
Jan Hudec
Il ne parvient pas à envoyer le message s'il contient une apostrophe.
berserk
39
Essayez le code ci-dessous, puis appelez sendSMS("99999999999", "message");pour envoyer des SMS au numéro souhaité.
//---sends an SMS message to another device---@SuppressWarnings("deprecation")privatevoid sendSMS(String phoneNumber,String message){Log.v("phoneNumber",phoneNumber);Log.v("MEssage",message);PendingIntent pi =PendingIntent.getActivity(this,0,newIntent(this,**DummyClasshere.class**),0);SmsManager sms =SmsManager.getDefault();
sms.sendTextMessage(phoneNumber,null, message, pi,null);}
Veuillez placer l'autorisation suivante dans le AndroidManifest.xmlfichier.
Ce code est utilisé pour envoyer un message en arrière-plan (ne montrant pas le compositeur de message) , il peut également fonctionner à l'intérieur du récepteur de diffusion . Si vous souhaitez envoyer un message à partir du récepteur de diffusion.
+1. A travaillé pour mon exigence. Mais il me manque une chose. Ce message n'apparaît pas dans mes éléments envoyés. Pourquoi est-ce si?
Tahir Akram
Nous n'avons pas utilisé le processus Inten par défaut pour l'envoi de sms, nous utilisons simplement le gestionnaire de sms. L'intention se réunira pour maintenir le journal du SmsManager.
Dwivedi Ji
Oui. Cela m'est très utile. Mais le message de confirmation donné après l'envoi de sms signifie que cela pourrait être mieux.
Gunaseelan
3
Je recommanderais simplement d'ajouter ce bloc dans try-catch.
Tanveer Shaikh
10
Sous Android, nous avons la classe SmsManager qui gère les opérations SMS telles que l'envoi de données, de texte et de messages SMS pdu. Obtenez cet objet en appelant la méthode statique SmsManager.getDefault ().
Une partie de ce qui est expliqué ci-dessus est uniquement destinée à placer un SMS dans un état «prêt à être lancé». comme Senthil Mg l'a dit, vous pouvez utiliser le gestionnaire de sms pour envoyer les sms directement mais SMSManagera été déplacé versandroid.telephony.SmsManager
Je sais que ce n'est pas beaucoup plus d'informations, mais cela pourrait aider quelqu'un un jour.
Cela permet d'envoyer un message texte via l'application existante. phoneNumber - est une chaîne. Si vous ne souhaitez pas spécifier de numéro de téléphone, utilisez la chaîne vide "".
Mise à jour: si vous utilisez Intent pour envoyer des sms, vous n'avez pas besoin de l'autorisation android.permission.SEND_SMS.
Nafis Ahmad
0
Vous pouvez omettre le numéro de téléphone pour permettre à l'utilisateur de choisir simplement parmi les contacts, mais en insérant votre texte SMS dans le corps. Le code est pour Xamarin Android:
var uri =Uri.Parse("smsto:");//append your number here for explicit nbvar intent =newIntent(Intent.ActionSendto, uri);
intent.PutExtra("sms_body", text);Context.StartActivity(intent);
où
Le contexte est Xamarin.Essentials.Platform.CurrentActivity ?? Application.Context
Réponses:
Vous pouvez utiliser le code suivant:
Assurez-vous d'avoir défini
phoneNumber
le numéro de téléphone auquel vous souhaitez envoyer le messageVous pouvez ajouter un message au SMS avec (à partir des commentaires):
la source
Cela a fonctionné pour moi.
Vous pouvez ajouter cette ligne dans AndroidManifest.xml
Jetez un œil à ceci
Cela peut vous être utile.
la source
Essayez le code ci-dessous, puis appelez
sendSMS("99999999999", "message");
pour envoyer des SMS au numéro souhaité.Veuillez placer l'autorisation suivante dans le
AndroidManifest.xml
fichier.J'espère que cela pourrait aider.
Mise à jour du commentaire: DummyClasshere.class est une activité sans faire aucun processus ou la classe dans laquelle vous devez naviguer.
la source
new Intent()
et ça le fait.Cela fonctionnera certainement, dans ce cas, envoyez un message sans utiliser d'intention.
Ce code est utilisé pour envoyer un message en arrière-plan (ne montrant pas le compositeur de message) , il peut également fonctionner à l'intérieur du récepteur de diffusion . Si vous souhaitez envoyer un message à partir du récepteur de diffusion.
la source
Sous Android, nous avons la classe SmsManager qui gère les opérations SMS telles que l'envoi de données, de texte et de messages SMS pdu. Obtenez cet objet en appelant la méthode statique SmsManager.getDefault ().
SmsManager Javadoc
Consultez le lien suivant pour obtenir l'exemple de code pour l'envoi de SMS:
article sur l'envoi et la réception de SMS sur Android
la source
J'espère que ce code vous aidera :)
la source
J'ajoute ma méthode SMS si elle peut aider quelqu'un. Soyez prudent avec smsManager.sendTextMessage, si le texte est trop long, le message ne disparaît pas. Vous devez respecter la longueur maximale en fonction de l'encodage. Plus d'informations ici SMS Manager envoie un message en plusieurs parties lorsqu'il y a moins de 160 caractères
// POUR UTILISER Partout
//Manifeste
//JAVA
la source
Incluez l'autorisation suivante dans votre fichier AndroidManifest.xml
la source
Une partie de ce qui est expliqué ci-dessus est uniquement destinée à placer un SMS dans un état «prêt à être lancé». comme Senthil Mg l'a dit, vous pouvez utiliser le gestionnaire de sms pour envoyer les sms directement mais
SMSManager
a été déplacé versandroid.telephony.SmsManager
Je sais que ce n'est pas beaucoup plus d'informations, mais cela pourrait aider quelqu'un un jour.
la source
J'espère que cela peut vous aider ...
Nom de fichier = MainActivity.java
ajoutez cette ligne dans AndroidManifest.xml
la source
Cela permet d'envoyer un message texte via l'application existante. phoneNumber - est une chaîne. Si vous ne souhaitez pas spécifier de numéro de téléphone, utilisez la chaîne vide "".
la source
Envoyez des SMS depuis KitKat et au-dessus: - AJOUTEZ cette autorisation dans votre AndroidManifest.xml
Vous devez également implémenter l' autorisation d'exécution pour Marshmallow et la version ci-dessus.
AndroidManifest.xml
Le code qui sera le donné ci-dessous: -
activity_conversation_list.xml
ConversationListActivity.java
Voici le code pour la mise en page des sms et pour l'envoi de SMS: -
activity_compose_sms.xml
fragment_compose_sms.xml
ComposeSMSActivity.java
C'est tout.
la source
Vous pouvez l'utiliser pour envoyer des SMS à n'importe quel numéro:
la source
Vous pouvez omettre le numéro de téléphone pour permettre à l'utilisateur de choisir simplement parmi les contacts, mais en insérant votre texte SMS dans le corps. Le code est pour Xamarin Android:
où
Le contexte est
Xamarin.Essentials.Platform.CurrentActivity ?? Application.Context
la source