J'ai développé cette fonctionnalité à partir d'un Blog. Il y a 2 façons d'envoyer des SMS.
- Compositeur SMS natif ouvert
- rédiger votre message et l'envoyer depuis votre application Android
C'est le code de la 1ère méthode.
Main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<Button
android:id="@+id/btnSendSMS"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Send SMS"
android:layout_centerInParent="true"
android:onClick="sendSMS">
</Button>
</RelativeLayout>
Activité
public class SendSMSActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void sendSMS(View v)
{
String number = "12346556"; // The number on which you want to send SMS
startActivity(new Intent(Intent.ACTION_VIEW, Uri.fromParts("sms", number, null)));
}
/* or
public void sendSMS(View v)
{
Uri uri = Uri.parse("smsto:12346556");
Intent it = new Intent(Intent.ACTION_SENDTO, uri);
it.putExtra("sms_body", "Here you can set the SMS text to be sent");
startActivity(it);
} */
}
NOTE:- Dans cette méthode, vous n'avez pas besoin de l'autorisation SEND_SMS dans le fichier AndroidManifest.xml.
Pour la deuxième méthode, voir ceci BLOG . Vous trouverez une bonne explication ici.
J'espère que cela vous aidera...
0 votes
Essayez de lire le code source d'Android, également SmsManager.
1 votes
On peut également obtenir
ActivityNotFoundException: No Activity found to handle Intent ("vnd.android-dir/mms-sms")
. Il est préférable de ne pas utiliser cette méthode.