Envoyer un SMS
Date de publication : 26 janvier 2011.
Par
Axon de Tuto Mobile (Tuto Mobile)
Voici un nouveau tutoriel Android (depuis bien longtemps, diront les plus exigeants d'entre vous).
C'est un lecteur de Tuto Mobile qui me l'a envoyé, il s'agit de dia100daly, donc merci à lui. Dans
ce tutoriel nous allons apprendre à envoyer des SMS. Peut-être qu'un jour vous aurez envie de faire
une application qui envoie des SMS qui sait ?
C'est toujours bien de savoir comment faire (en plus cela sera nécessaire pour le prochain tutoriel) :P Enfin trêve de bavardage.
Commençons par créer un projet avec la version 1.6 d'Android pour être conforme à tous les autres
tutoriels Android du site. Pour ma part, il s'appelle EnvoieSms avec une activité qui porte le même
nom (vous pouvez l'appeler comme vous voulez).
I. Code XML
II. Code Java
III. AndroidManifest.xml
IV. Lien
I. Code XML
Avant de vous donner le code XML que nous allons utiliser pour faire l'interface graphique, je vais vous montrer le rendu que l'on souhaite à la fin :
Envoi de SMS Android
Donc pour obtenir cette petite interface très simple voici le code XML correspondant :
<? xml version="1.0" encoding="utf-8"? >
< LinearLayout xmlns : android = " http://schemas.android.com/apk/res/android "
android : orientation = " vertical " android : layout_width = " fill_parent "
android : layout_height = " fill_parent " >
< LinearLayout android : orientation = " horizontal "
android : layout_width = " fill_parent " android : layout_height = " wrap_content " >
< TextView android : layout_width = " wrap_content "
android : layout_height = " wrap_content " android : text = " @string/numero " / >
< EditText android : id = " @+id/numero " android : layout_width = " fill_parent "
android : layout_height = " wrap_content " / >
< / LinearLayout >
< TextView android : layout_width = " wrap_content "
android : layout_height = " wrap_content " android : text = " @string/message " / >
< EditText android : id = " @+id/message " android : layout_width = " fill_parent "
android : layout_height = " 200sp " / >
< Button android : id = " @+id/envoyer " android : layout_width = " fill_parent "
android : layout_height = " wrap_content " android : text = " @string/envoyer " / >
< / LinearLayout >
|
Pas de panique si vous avez des erreurs c'est parce que vous n'avez pas créé les ressources String. Créez les ressources qu'il faut dans le fichier String.xml comme ceci :
<? xml version="1.0" encoding="utf-8"? >
< resources >
< string name = " numero " > Numero< / string >
< string name = " app_name " > Envoie Sms< / string >
< string name = " message " > Message< / string >
< string name = " envoyer " > Envoyer< / string >
< / resources >
|
II. Code Java
Nous allons maintenant mettre en place le mécanisme d'envoi de SMS. Pour cela nous avons juste besoin d'utiliser un objet de type
SmsManager.
Sans plus tarder éditons notre activité de départ EnvoieSms et insérer le code Java (commenté) suivant :
package com.sdiawara.envoiesms;
import android.app.Activity;
import android.os.Bundle;
import android.telephony.gsm.SmsManager;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class EnvoieSms extends Activity {
public void onCreate (Bundle savedInstanceState) {
super .onCreate (savedInstanceState);
setContentView (R.layout.main);
Button btnEnvoie = (Button)findViewById (R.id.envoyer);
final EditText numero = (EditText)findViewById (R.id.numero);
final EditText message = (EditText)findViewById (R.id.message);
btnEnvoie.setOnClickListener (new OnClickListener () {
@ SuppressWarnings (" deprecation " )
public void onClick (View v) {
String num = numero.getText ().toString ();
String msg = message.getText ().toString ();
if (num.length ()>= 4 & & msg.length () > 0 ){
SmsManager.getDefault ().sendTextMessage (num, null , msg, null , null );
numero.setText (" " );
message.setText (" " );
} else {
Toast.makeText (EnvoieSms.this , " Enter le numero et/ou le message " , Toast.LENGTH_SHORT).show ();
}
}
} );
}
}
|
III. AndroidManifest.xml
Voilà nous avons presque fini il nous reste juste à demander la permission d'envoyer des messages. Pour cela, ouvrez le fichier AndroidManifest.xml et ajoutez cette ligne :
< uses-permission android : name = " android.permission.SEND_SMS " > < / uses-permission >
|
Vous pouvez maintenant tester. Pour bien voir que ça marche nous allons utiliser deux émulateurs. Je suppose que vous en disposez déjà d'un, nous allons donc en créer un deuxième. Cliquez sur le menu Windows >>> Android SDK and AVD Manager. Ensuite cliquez sur New pour créer un nouvel émulateur, donnez-lui le nom que vous voulez, cliquez sur Create AVD et sélectionnez ce nouvel émulateur puis cliquez sur Start. Il ne reste plus qu'à lancer votre projet avec l'un des émulateurs et à rentrer le numéro qui apparaît sur l'autre émulateur comme numéro du destinataire. Voilà tout devrait marcher normalement !
envoi sms android
envoi sms android
A bientôt pour un prochain tutoriel.
IV. Lien
Les sources présentées sur cette page sont libres de droits
et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation
constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ©
2010 RENOUARD. Aucune reproduction, même partielle, ne peut être
faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc.
sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à
trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.