Frage

Ich schreibe eine App, die eine etwas modulares System hat. Es hat einen Kern app, und einige Anwendungen, die aus einem einzigen Service bestehen, daß die gewünschte Schnittstelle implementiert. Ich folgte der Führung der IPC-Kommunikation zu schaffen. Aber jetzt brauche ich alle die Dienste zu erhalten, auf dem System installiert, dass mein Kern-App mit wotk kann. Wie mache ich das? Ich meine, ist es eine Möglichkeit, meine Service Apps mit irgendeiner Art von einem Tag, und dann Filterergebnisse zu markieren, die auf dieser Tag-Wert basiert PackageManager#getInstalledPackages() präsentiert? Was ist die übliche Praxis, dies zu tun?

War es hilfreich?

Lösung

Erstellen Sie eine benutzerdefinierte Intent, auf die Ihre Aktivitäten reagiert. Sie können dann PackageManager.queryIntentServices benutzen, um Ihre Liste mit passenden Dienstleistungen zu erhalten. Sie können die Paketinformationen erhalten, usw. von den Informationen in der ResolveInfos eingebettet ist.

Im Idealfall würde man tatsächlich diese Absichten verwenden für die Dienste aufrufen, aber man konnte immer benutzen sie nur als Identifikationsetiketten und fallen zurück auf den Bindungsmechanismus Sie vor der Verwendung wurden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top