Bonjour a tous !

En plein dev sur une application, j'ai dans mes besoin de créer un broadcastreceiver pour récupéré le sms reçus. Je me suis permis de suivre votre tuto qui est vraiment bien rédigé et très compréhensible !

Voici mon code:

SMSReceiver.java
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
26
27
28
29
30
31
32
33
34
35
36
37
38
 
package com.tuto.smsreceiver;
 
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
{
	 private final String   ACTION_RECEIVE_SMS  = "android.provider.Telephony.SMS_RECEIVED";
 
	 @Override
	 public void onReceive(Context context, Intent intent)
	 {
		 if (intent.getAction().equals(ACTION_RECEIVE_SMS))
		 {
			 Bundle bundle = intent.getExtras();
			 if (bundle != null)
			 {
				 Object[] pdus = (Object[]) bundle.get("pdus");
 
				 final SmsMessage[] messages = new SmsMessage[pdus.length];
				 for (int i = 0; i < pdus.length; i++)  {  messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);  }  if (messages.length > -1)
				 {
					 final String messageBody = messages[0].getMessageBody();
					 final String phoneNumber = messages[0].getDisplayOriginatingAddress();
 
					 Toast.makeText(context, "Expediteur : " + phoneNumber, Toast.LENGTH_LONG).show();
					 Toast.makeText(context, "MSG recu : " + messageBody, Toast.LENGTH_LONG).show();
 
				 }
			 }
		}
	}
}
AndroidManifest.xml:
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
26
27
28
29
30
31
 
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.tuto.smsreceiver"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk
        android:minSdkVersion="7"
        android:targetSdkVersion="8" />
 
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
 
 
 
	<receiver class="com.tuto.smsreceiver.SMSReceiver"
	    android:name="com.tuto.smsreceiver.SMSReceiver">
	    <intent-filter android:priority="999">
	        <action android:name="android.provider.Telephony.SMS_RECEIVED" />
	    </intent-filter>
	</receiver>
 
    </application>
 
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
	<uses-permission android:name="android.permission.READ_SMS" />
 
</manifest>
Le problème est que sur mon émulateur tout fonctionne a merveille, c'est a dire que lorsque je reçoit un sms j'ai bien un toast qui s'affiche avec d'écrit: MSG recu : blablabla mais après l'avoir installé sur mon portable perso HTC One X avec android 4.0.3 je n'ai aucune notification, rien !

Auriez vous une idée du pourquoi sa marche sur l'émulateur et pas sur mon mobile ?

Merci à vous !