2010-10-10 60 views
1

我正在编写一个应用程序,它有点模块化的系统。它有一个核心应用程序和一些由一个Service组成的应用程序,它实现了所需的界面。我跟着the guide创建IPC通信。但是现在我需要获得安装在系统上的所有服务,以便我的核心应用程序能够支持。我该怎么做呢?我的意思是,有什么方法可以用某种标记标记我的Service应用程序,然后根据该标记值过滤由PackageManager#getInstalledPackages()显示的结果?这样做的常见做法是什么?从PackageManager获取软件包

回答

1

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

理想情况下,您实际上会使用这些意图来调用服务,但您始终可以将它们用作标识标签并回退到之前使用的绑定机制。

相关问题