Application réception de SMS
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 ?
Code:
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();
}
}
} |
Ci dessous les permissions
Code:
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> |