【问题标题】:List intent filters for installed packages列出已安装包的意图过滤器
【发布时间】:2011-06-04 21:42:31
【问题描述】:

我想列出我手机上安装的软件包的活动意图过滤器。这只是为了学习经验,我想了解可以使用隐式意图启动哪些应用以及如何设置意图过滤器。

Google 在http://developer.android.com/guide/appendix/g-app-intents.html 上为他们提供的应用程序提供了一个表格。我希望为其他应用程序创建一个类似的列表。

我可以使用 PackageManager 并在代码中挖掘这些信息吗?有谁知道可以做到这一点的现有应用程序?谁能指点我一个现有的例子来做我想做的事?

对不起,如果这是类似问题的重复,例如 Listing an application's activity and intent-filters?Android -- How to get a list of all available intent filters ?

【问题讨论】:

    标签: android android-intent


    【解决方案1】:

    AFAIK 无法列出特定应用程序可以接收的所有意图。但是,您可以通过自己创建一些意图,然后使用PackageManager 的 queryIntentActivities、queryIntentservices 和 queryBroadcastReceivers 来查看已安装的应用程序会对该意图做出反应,从而获得类似(尽管不是那么广泛)的信息。

    【讨论】:

      【解决方案2】:

      让我推荐应用程序“ManifestViewer”。它列出了每个已安装应用程序的意图。 https://play.google.com/store/apps/details?id=jp.susatthi.ManifestViewer

      祝你有美好的一天!!

      【讨论】:

      • 我去看看。谢谢 - market.android.com/…
      • 终于有时间来看看这个。再次感谢。
      • 我认为它只列出了一些常见的意图,而不是那些在应用程序上使用的意图。
      【解决方案3】:

      在 Nougat 7.0 上对我的 Nexus 6 使用以下命令,我得到了所有意图的列表:

      adb shell pm dump * | grep ' filter' | cut -d ' ' -f 12 | sort | uniq

      • 首先,该命令会在您的设备中打开一个 shell,并对每个包执行 PackageManager 转储。
      • 然后将该输出通过管道传送到grep,它只选择带有“过滤器”一词的行。
      • 然后将该输出通过管道传输到cut,它会在该行的任何空格的第 12 位找到文本。
      • 然后将该输出通过管道传输到sort,该sort 将该列表从A 排序到Z。
      • 然后将该输出通过管道传输到uniq,这将清除重复的 Intent。

      YMMV - 一次尝试一个。当您看到所需的结果时,添加下一个管道。例如,不确定adb 的早期版本是否会为您提供不同数量的cut 空格。

      而且,如果您只想要 Chrome 这样的一个包的结果,您可以使用:

      adb shell pm dump com.android.chrome | grep ' filter' | cut -d ' ' -f 12 | sort | uniq

      【讨论】:

      • 不错的答案,但filter 部分并不明显。你需要用"com.android.chrome/."之类的东西把整个路径放在那里。
      • 我的 android 4 设置中没有 dump 选项。 dumpsys package r 为我工作。
      • 感谢@Kristopher!好东西。在没有切割管道的 Android 9 设备上为我工作:adb shell pm dump * | grep '过滤器' |排序 |独特的
      【解决方案4】:

      adb shell dumpsys package <packagename> 提供活动列表和应用程序的相应意图。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-09
        • 1970-01-01
        • 1970-01-01
        • 2017-11-05
        相关资源
        最近更新 更多