2010-10-10 3 views
1

J'écris une application qui a un système modulaire. Il a une application de base, et certaines applications, qui consistent en un seul Service, qui implémente l'interface souhaitée. J'ai suivi the 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 possible de marquer mes applications Service avec une sorte de balise, puis de filtrer les résultats, présentés par le PackageManager#getInstalledPackages() en fonction de cette valeur de balise? Quelle est la pratique courante de le faire?Obtention de paquets à partir de PackageManager

Répondre

1

Créez une intention personnalisée à laquelle vos activités répondront. Vous pouvez ensuite utiliser PackageManager.queryIntentServices pour obtenir votre liste de services correspondants. Vous pouvez obtenir les informations sur le paquet, etc. à partir des informations intégrées dans ResolveInfos.

Idéalement, vous utiliseriez ces intentions pour invoquer les services, mais vous pourriez toujours les utiliser comme balises d'identification et vous rabattre sur le mécanisme de liaison que vous utilisiez auparavant.

Questions connexes