Question

Je vous écris une application, qui a un système quelque peu modulaire. Il dispose d'une application de base, et des applications, qui se composent d'un seul Service, qui implémente l'interface souhaitée. Je suivais le guide pour créer la communication IPC. Mais maintenant, je dois obtenir tous les services, installés sur le système, que mon application de base peut wotk avec. Comment puis-je faire cela? Je veux dire, est-il un moyen de marquer mes applications Service avec une sorte de balise, puis filtrer les résultats, présentés par le PackageManager#getInstalledPackages() en fonction de cette valeur de la variable? Quelle est la pratique courante de le faire?

Était-ce utile?

La solution

Créer une coutume intention à laquelle vos activités répondront. Vous pouvez ensuite utiliser PackageManager.queryIntentServices pour obtenir votre liste de services correspondant. Vous pouvez obtenir l'information sur le paquet, etc. à partir de l'information contenue dans les ResolveInfos.

Idéalement vous auriez réellement utiliser ces intentions pour invoquer les services, mais vous pouvez toujours simplement les utiliser comme des étiquettes d'identification et de se replier sur le mécanisme de liaison que vous utilisiez avant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top