Domanda

sto scrivendo un app, che ha un sistema in qualche modo modulare. Ha un'applicazione nucleo, e alcune applicazioni, che consistono di un singolo Service, che implementa l'interfaccia desiderata. Ho seguito il guida per creare la comunicazione IPC. Ma ora ho bisogno di avere tutti i servizi, installati nel sistema, che la mia anima applicazione può wotk con. Come faccio a fare questo? Voglio dire, c'è qualche modo per marcare le mie applicazioni Service con un qualche tipo di tag e filtrare i risultati poi, presentato dalla PackageManager#getInstalledPackages() sulla base di tale valore di una variabile? Qual è la pratica comune di farlo?

È stato utile?

Soluzione

Crea un costume intenti per cui le vostre attività risponderanno. È quindi possibile utilizzare PackageManager.queryIntentServices per ottenere l'elenco dei servizi corrispondenti. È possibile ottenere l'informazioni sul pacchetto, ecc dal informazioni incorporate nei ResolveInfos.

Idealmente si sarebbe effettivamente utilizzare questi intenti per invocare i servizi, ma si può sempre e solo usarli come tag di identificazione e ripiegare sul meccanismo di associazione che si stava utilizzando prima.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top