android - 从 PackageManager 获取包

标签 android service android-package-managers

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

最佳答案

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

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

关于android - 从 PackageManager 获取包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3900825/

相关文章:

Android 开发环境 Linux

tomcat - 使用 update-rc.d 为 Ubuntu 添加额外的 tomcat 实例失败

postgresql - 如何在 Ubuntu 上自动启动服务

android - 即使存在 try/catch block ,应用程序也会因空对象引用 'boolean android.content.Intent.migrateExtraStreamToClipData()' 而崩溃

android - 无法从包中获取 Intent 过滤器

android - 如何在 Android 应用程序中使用 Google 表单?

java - Android Eclipse 错误

java - 如何在 Eclipse 中添加两个按钮,一个用于播放 mp3 文件,另一个用于停止它

java - 网络主线程异常

java - 尝试从 ActivityManager.RunningTaskInfo 获取正在运行的应用程序图标时出错