Chronogps Posté(e) 9 mai 2010 Share Posté(e) 9 mai 2010 Etant donné que j'ai besoin de traiter des SMS entrant dans une application (et que je ne vois pas comment transférer des données d'un Receiver a une Activity, je me suis dit que je pouvais peut être m'y prendre différemment en mettant en place le receiver directement dans l'activity de la manière suivante : BroadcastReceiver br; IntentFilter filter; (...) public void onCreate(Bundle savedInstanceState) { (...) br = new BroadcastReceiver() { @Override public void onReceive(Context ctx, Intent intent) { unregisterReceiver(br); } }; filter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED"); registerReceiver(br, filter); (...) Le manifest contient la bonne permission : Aucune erreur à l'exécution mais le BroadcastReceiver n'est jamais appelé... Où est l'erreur ? Ce n'est pas possible de faire cela ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Chronogps Posté(e) 9 mai 2010 Auteur Share Posté(e) 9 mai 2010 Je m'auto réponds Pour une raison que j'ignore il faut mettre en place le registerReceiver dans le onResume : protected void onResume() { super.onResume(); IntentFilter filter = new IntentFilter(); filter.addAction("android.provider.Telephony.SMS_RECEIVED"); registerReceiver(receiver, new IntentFilter(filter)); } Raison ? (cela m'intéresserait de le savoir) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Igosuki Posté(e) 11 mai 2010 Share Posté(e) 11 mai 2010 Parce que unregisterReceiver(br); ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Chronogps Posté(e) 11 mai 2010 Auteur Share Posté(e) 11 mai 2010 Parce que unregisterReceiver(br); ? Non car il n'est appelé qu'après une réception de SMS (j'ai débuggué : ca ne rentrait jamais dans le OnReceive) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.