【发布时间】:2014-01-30 20:32:14
【问题描述】:
我正在开发一个系统应用程序,我需要以编程方式了解应用程序能够处理哪些意图。我见过与此相关的其他问题,但似乎没有一个问题有答案,而且似乎也不关心系统权限。
PackageManager 似乎只提供方法来查询给定意图的活动。我找不到获取给定活动意图的方法。
例如,如果我有一个具有这样定义的意图过滤器的活动:
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<action android:name="android.intent.action.USER_PRESENT"/>
</intent-filter>
而且我知道活动类名和包名,我想从包管理器(或任何其他来源)中了解它可以处理哪些意图(在本例中为BOOT_COMPLETED 和USER_PRESENT)。
【问题讨论】:
-
只是在黑暗中拍摄 - 如果您有 root 权限,您可能会从已安装的应用程序中获取清单文件并解析它们(apk 文件只是 zip 文件)。如果您仍然感兴趣,我可以尝试检查这个想法是否有效。