我正在编写一个应用程序,它有一个模块化系统。它有一个核心应用程序,以及一些由单个Service
组成的应用程序,它们实现了所需的接口。我跟着the guide创建了IPC通信。但是现在我需要获得我的核心应用程序可以使用的所有安装在系统上的服务。我该怎么做呢?我的意思是,有没有办法用某种标记标记我的Service
个应用,然后根据该标记值过滤PackageManager#getInstalledPackages()
提供的结果?这样做的常见做法是什么?
答案 0 :(得分:1)
创建您的活动将响应的自定义Intent。然后,您可以使用PackageManager.queryIntentServices获取匹配服务列表。您可以从ResolveInfos中嵌入的信息中获取包信息等。
理想情况下,您实际上是使用这些意图来调用服务,但您可以随时将它们用作标识标记,并依赖于之前使用的绑定机制。