2010-11-24 84 views
0

J'ai une situation dans laquelle la même classe d'activité est créée par la création d'onglets dans un contrôle tabhost. Par la suite, chaque instance de l'activité voudra informer un groupe sélectionné de ses pairs de certaines actions de l'utilisateur. Inversement, chaque activité, lorsqu'elle est construite/créée, sait quelle activité [une seule] accepte les messages diffusés.Un IntentFilter fonctionnera-t-il pour cela?

Ma pensée est de définir par programme un IntentFilter pour chaque récepteur enregistré qui contiendrait la chaîne d'identification du diffuseur qu'il souhaite entendre.

Est-ce que cela fonctionnera et, si oui, comment définirais-je le code IntentFilter?

Répondre

1

Oui, ça marche ... magnifiquement!

J'ai transmis la chaîne d'identification de l'activité de création à la progéniture en tant que membre «supplémentaire» de l'intention de création. Cette chaîne a ensuite été définie comme la catégorie IntentFilter [iFilter.addCategory (identStr)].

Les intentions de diffusion reçoivent alors la même catégorie [iMsg.addCategory (identStr)] et sont ensuite reçues par les activités spécifiques qui avaient enregistré un récepteur avec la chaîne d'identification correspondante comme catégorie de filtre.

Très puissant ...