10
votes

Récepteur de diffusion Android et filtre à l'intention

Je suis nouveau sur la plate-forme Android.Veuillez vous aider à comprendre comment le récepteur de diffusion et le filtre à l'intention se comportent dans Android.Veuillez expliquer en ligne simple ou avec exemple.Merci d'être à l'avance ...


1 commentaires

Peut-être une bonne idée de regarder ici: Stackoverflow.com/users/366916/bharathi et accepter les réponses sur vos questions récentes.


3 Réponses :


19
votes

Un récepteur de diffusion est une classe de votre projet Android, responsable de la réception de toutes les intentions, qui sont envoyées par d'autres activités en utilisant android.content.contextweaefer.sendbroft (intention intention)

Dans le fichier manifeste de votre activité de réception, vous devez déclarer lequel est votre classe de récepteur de diffusion, par exemple: xxx

comme vous pouvez le voir, vous définissez également l'intention filtre ici. , c'est-à-dire quels intentions doivent être reçus par le récepteur Broadcas.

Ensuite, vous devez définir une classe qui s'étend à BroadCastreCeiver. C'est la classe que vous avez définie dans le fichier manifeste: xxx

ici, toutes les intentions passées à travers le filtre sont reçues et vous pouvez y accéder à l'aide du paramètre transmis dans la méthode appel.


1 commentaires

C'est juste le paquet qu'il a utilisé comme exemple



13
votes

Un BroadCastraCeiver peut être enregistré de deux manières: dynamique ou statique . Statique n'est rien d'autre que déclarer l'action via un fichier filtre dans androidmanifest.xml pour enregistrer un nouveau BroadcastraCeiver classe. Dynamique enregistre le récepteur d'une autre classe. Un «code> filtre d'intention détermine quelle action doit être reçue.

Pour créer un BroadCastreceiver, vous devez étendre la classe BroadCastraCeiver et le remplacement onreceive (contexte, intention) méthode. Ici, vous pouvez vérifier l'intention entrante avec inent.getaction () et exécuter le code en conséquence.

comme une nouvelle classe, statique serait xxx

ou, s'il est placé à l'intérieur d'une classe existante, il est appelé de manière dynamique avec xxx


2 commentaires

Comment puis-je le faire entre 2 périphériques, par exemple Envoyer des données de l'un à l'autre appareil? Que devrais-je définir ??


@Jperk, vous auriez besoin de gérer la connexion, mais vous pourriez alors définir une intention personnalisée de recevoir les données. Il y a une chance décente que vous n'utiliseriez pas d'intention de système existante de recevoir des données personnalisées ou de ne pas vouloir gérer les données par défaut qu'il contient habituellement.



2
votes

BroadCastreCeiver : "passerelle" avec laquelle votre application indique à Android OS qui, votre application est intéressée à recevoir des informations.

Filtre à l'intention : Fonctionne avec BroadCastraCeiver et indique aux informations "quelles" utilisées pour recevoir. Par exemple, votre application souhaite recevoir des informations sur le niveau de la batterie .


1 commentaires

Est-il préférable d'utiliser WakefulBroadCastreceiver au lieu de BroadCastraCeiver?