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
| package com.dev;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.widget.Toast;
public class SMSReceiver extends BroadcastReceiver // BroadcastReceiver permet d analyser les trames
//pour recevoir des flux d infos
{
@Override
public void onReceive(Context context, Intent intent)
{
Bundle bundle = intent.getExtras(); // detecte le service envoi msg
SmsMessage[] msgs = null; // recup msg sous forme de tableau
String str = "";
if (bundle != null) // si service detecte
{
// recup le message envoye
Object[] pdus = (Object[]) bundle.get("pdus"); // associe le bon pdu au msg
msgs = new SmsMessage[pdus.length]; // recupere le msg et sa taille
for (int i=0; i<msgs.length; i++){ // parcoure ses octets et le recree
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
str += "SMS from " + msgs[i].getOriginatingAddress(); // recup l emetteur
str += " :";
str += msgs[i].getMessageBody().toString();// recup le msg cree
str += "\n";
}
Toast.makeText(context, str, Toast.LENGTH_SHORT).show();// affiche le sms
}
}
} |
Partager