Android - Comment utiliser un local récepteur de radiodiffusion?
Je suis en train d'utiliser un local récepteur de radiodiffusion.
Pour ce faire j'ai fait les prochaines étapes -
1) Lors d'une Activité, où Je ressemble à quelque chose, j'ai créé une classe -
private class NewGroupReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Log.d("The group ", "GOT IN THE RECIVING");
Toast.makeText(this, "Working",Toast.LENGTH_SHORT).show();
}
}
2) À la même activité, j'ai utilisé le code suivant pour créer un récepteur -
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
NewGroupReceiver receiver = new NewGroupReceiver();
//the intent filter will be action = "com.example.demo_service.action.SERVICE_FINISHED"
IntentFilter filter= new IntentFilter("com.example.apps.action.NEW_GROUP");
//register the receiver:
registerReceiver(receiver, filter);
}
3) À la une de la classe du service, j'ai utilisé le code suivant pour savoir quand quelque chose s'est passé-
Intent resultsIntent=new Intent("com.example.apps.action.NEW_GROUP");
LocalBroadcastManager localBroadcastManager =LocalBroadcastManager.getInstance(this);
localBroadcastManager.sendBroadcast(resultsIntent);
Maintenant, le problème est que lorsque la chose que je Voudrais savoir a arriver - je vois la c'est dans le code que j'ai utilisé à l'étape 3, mais il doesen " semblent entrer dans le BroadcastReceiver - l'étape 1 du code.
Une idée de ce que je fais mal?
Merci pour toute sorte d'aide.
le code à l'étape 3 est à un "Service" de la classe
doit encore travailler dans un service
double possible de comment utiliser LocalBroadcastManager?
OriginalL'auteur 4this | 2014-04-28
Vous devez vous connecter pour publier un commentaire.
Vous utilisez le
LocalBroadcastManager
pour envoyer la demande, mais vous vous inscrivez le récepteur sur le "global" de l'Intention. Vous devez soit utiliser LocalBroadcastManager pour enregistrer le récepteur ou envoyer la diffusion sur lele contexte de l'application:
Étape 2
Context.registerReceiver()
, même si BroadcastReceiver qui est dans la même application? J'ai été chercher la confirmation de ce mais les documents ne sont pas vraiment l'air de le dire.malheureusement non, mais c'était le cas de mon expérience à l'époque en 2014
OriginalL'auteur JohnnyAW