1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
public class MainActivity extends Activity {
private static String SMS_DELIVERED = "SMS_DELIVERED";
private static String SMS_SENT = "SMS_SENT";
BroadcastReceiver smsSentReceiver;
BroadcastReceiver smsDeliveredReceiver;
// Texte a envoyer
String message = "Hello";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SmsManager sms = SmsManager.getDefault();
PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SMS_SENT), 0);
PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0, new Intent(SMS_DELIVERED), 0);
// Envoi du SMS vers un émulateur AVD
sms.sendTextMessage("+33638836490", null, message, sentPI, deliveredPI);
}
@Override
public void onResume() {
super.onResume();
// BroadcastReceiver pour SMS envoyé
smsSentReceiver = new BroadcastReceiver(){
@Override
public void onReceive(Context arg0, Intent arg1) {
Log.d("Dedans", "broadcast receiver envoyé SMS");
switch (getResultCode())
{
case Activity.RESULT_CANCELED:
Toast.makeText(getBaseContext(), "SMS SENT", Toast.LENGTH_SHORT).show();
Log.d("SMS SENT", "SMS envoyé !");
break;
case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
Toast.makeText(getBaseContext(), "Echec générique", Toast.LENGTH_SHORT).show();
Log.d("SMS SENT", "Echec générique !");
break;
case SmsManager.RESULT_ERROR_NO_SERVICE:
Toast.makeText(getBaseContext(), "Service absent", Toast.LENGTH_SHORT).show();
Log.d("SMS SENT", "Service absent !");
break;
case SmsManager.RESULT_ERROR_NULL_PDU:
Toast.makeText(getBaseContext(), "PDU NULL", Toast.LENGTH_SHORT).show();
Log.d("SMS SENT", "PDU null !");
break;
case SmsManager.RESULT_ERROR_RADIO_OFF:
Toast.makeText(getBaseContext(), "Réseau sur off",Toast.LENGTH_SHORT).show();
Log.d("SMS SENT", "Réseau sur off !");
break;
}
}
};
// BroadcastReceiver pour diffusion SMS
smsDeliveredReceiver = new BroadcastReceiver(){
@Override
public void onReceive(Context arg0, Intent arg1) {
Log.d("Dedans", "broadcast receiver diffusion SMS");
switch (getResultCode())
{
case Activity.RESULT_OK:
Toast.makeText(getBaseContext(), "SMS délivré",Toast.LENGTH_SHORT).show();
Log.d("SMS DELIVERED", "SMS délivré !");
break;
case Activity.RESULT_CANCELED:
Toast.makeText(getBaseContext(), "SMS non delivré",Toast.LENGTH_SHORT).show();
Log.d("SMS DELIVERED", "SMS non délivré !");
break;
}
}
};
// abonnement
registerReceiver(smsSentReceiver, new IntentFilter(SMS_SENT));
registerReceiver(smsDeliveredReceiver, new IntentFilter(SMS_DELIVERED));
}
@Override
public void onPause() {
super.onPause();
// désabonnement ...
unregisterReceiver(smsSentReceiver);
unregisterReceiver(smsDeliveredReceiver);
} |