如何管理与Apps的意图关联?


20

当系统发出一个Intent时,您有多个可以处理该Intent的应用程序,将打开一个对话框,告诉您要与该Intent一起使用的应用程序。

有没有办法查看这些关联并清除它们?

如果没有应用程序或界面可以执行此操作,您是否知道访问这些关联的API?

编辑:当我说联想时,我想到的是“后期绑定”联想。例如,当我打开一个链接并且有多个浏览器时,会触发一个意图,说“查看链接”,然后选择“始终使用该应用程序”。如果一段时间之后,我希望使用另一个应用程序该怎么办?


1
无法查看所有已注册意图的事实是AOSP中的一个严重缺陷
Redandwhite

Answers:


13

我认为这两个问题都不是。是的,只有在知道与哪个应用程序关联的情况下,您才能清除默认关联Intent(对话框仍然会提示您询问您要与当前应用程序一起使用哪个应用程序Intent)。

除此之外,没有办法清除关联。它们在每个应用程序内都进行了硬编码,无法删除它们。

更新:要在“设置”>“应用程序”>“管理应用程序”中回答已编辑的问题,请找到您选择作为该意图的默认应用程序的应用程序,单击“ 清除默认值”


4

您可以Intent通过转到IntentSettings-> Applications-> Manager Applications-> [Find your app]-> "Clear Defaults"按钮中指定的特定应用程序来删除一些关联。

无法查看从Intents到的所有关联Apps


2

如果您的设备已植根,则可以使用“ 自动运行管理器”(ARM)之类的应用列出所有已注册的侦听器,甚至可以随意禁用/启用它们(例如,防止某个应用在您不希望的时间启动)至)。这将对应于“清除关联”。


链接到的应用程序仅显示为启用和禁用广播接收器,因此不会影响您可以选择的其他活动
Dan Hulme 2014年

我一直在寻找AutoRun Manager。谢谢!
克洛
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.