Mic*_*evy 22 android android-intent
我想列出手机上安装的软件包的活动意图过滤器.这只是为了学习体验,我想了解哪些应用程序可以使用隐式意图启动,以及如何设置意图过滤器.
Google在http://developer.android.com/guide/appendix/g-app-intents.html上提供了他们提供的应用程序表.我想为其他应用程序创建一个类似的列表.
我可以使用PackageManager并在代码中挖掘这些信息吗?有谁知道现有的应用程序可以做到这一点?有人能指出我现有的例子来做我想要的吗?
很抱歉,如果这是类似问题的重复,例如列出应用程序的活动和intent-filters?和Android - 如何获取所有可用的意图过滤器列表?
Gin*_*ray 15
AFAIK无法列出特定应用程序可以接收的所有意图.但是,通过自己创建一些意图,然后使用PackageManager的queryIntentActivities,queryIntentservices和queryBroadcastReceivers来查看将对该意图做出反应的应用程序安装,您可以获得类似(尽管不是扩展)信息.
Som*_*ere 14
让我推荐应用程序"ManifestViewer".它列出了每个已安装应用的意图. https://play.google.com/store/apps/details?id=jp.susatthi.ManifestViewer
祝你今天愉快 !!
在牛轧糖7.0上的Nexus 6上使用以下命令,我得到了所有意图的列表:
adb shell pm dump * | grep ' filter' | cut -d ' ' -f 12 | sort | uniq
PackageManager转储每个软件包。grep仅选择带有单词“过滤器”的行。cut给该管道,以给出在该行上任何空格的第12个位置找到的文本。sort从列表A到Z排序。uniq清除到重复的Intent。YMMV-一次尝试一下。根据您想要的结果添加下一个管道。例如,不确定的先前版本是否adb会为您提供不同数量的空格cut。
而且,如果您只想获得像Chrome这样的软件包的结果,则可以使用:
adb shell pm dump com.android.chrome | grep ' filter' | cut -d ' ' -f 12 | sort | uniq
| 归档时间: |
|
| 查看次数: |
14659 次 |
| 最近记录: |