Bonjour, je suis actuellement en train de développer une application qui envoie un toast lorsqu'on reçoit un SMS.
Pour cela, j'ai crée la classe SMSReceiver héritée de BroadcastReceiver qui est cencé envoyer un toast lorsque je reçois un SMS. Cependant, il ne se passe rien lorsque je reçois un SMS. Pourtant, le code est correct et j'ai également mis les permissions . Pourriez - vous m'aider à trouver d'où vient ce gros problème ?
Ci dessous les permissions
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 public class SMSReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Bundle bundle = intent.getExtras(); if (bundle != null) { Object[] pdus = (Object[]) bundle.get("pdus"); SmsMessage[] messages = new SmsMessage[pdus.length]; for (int i = 0; i < pdus.length; i++) { // Convertir les PDUs en messages messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]); } // Enfin, traiter les messages for (SmsMessage message : messages) { String from = message.getOriginatingAddress(); String msg = message.getMessageBody(); long when = message.getTimestampMillis(); Toast.makeText(context, "Message de " + from + " envoyé à " + when + " : " + msg, Toast.LENGTH_LONG).show(); } } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="android.permission.READ_SMS" /> <receiver android:name=".SmsListener"> <intent-filter> <action android:name="android.provider.Telephony.SMS_RECEIVED" /> </intent-filter> </receiver>
Partager