我正在编写一个具有模块化系统的应用程序。它具有一个核心应用程序和一些应用程序,该应用程序由一个单一组成 Service, ,这实现了所需的接口。我跟着 导游 创建IPC通信。但是现在,我需要在系统上安装的所有服务,我的核心应用程序可以使用。我该怎么做呢?我的意思是,有什么方法可以标记我的 Service 具有某种标签的应用程序,然后是过滤结果,由 PackageManager#getInstalledPackages() 基于该标签值?这样做的常见做法是什么?

有帮助吗?

解决方案

创建您的活动将回应的自定义意图。然后,您可以使用PackageManager.QueryIntentServices获取匹配服务列表。您可以从ResolveInfos中嵌入的信息中获取软件包信息等。

理想情况下,您实际上将这些意图用于调用服务,但是您总是可以将它们用作标识标签,然后依靠您以前使用的绑定机制。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top