如何管理应用与Intent关联及查看默认设置?

8次阅读
没有评论

如何管理应用与Intent的关联?

当你使用系统产生的Intent时(比如打开一个链接或文件),如果有多款App可以处理这个Intent,系统通常会弹出一个对话框询问你想要用哪个应用程序。那么问题来了:能否查看这些关联,并清除它们?另外,是否有API可以访问这种关联?对于你的编辑补充的问题,在一定时间之后,是否有可能换另一种应用来处理同样的意图?

1. 无法直接查看Intent关联

目前看来,官方并没有提供一个明确的应用程序或界面让用户清楚地查看或者修改那些“动态绑定”的Intent关联情况。这意味着即使之前已经选择了某个应用程序作为默认的关联应用,在后续时间内也无法直接通过普通用户界面的方法去更改它。

但是根据回复一提供的信息:
– 如果你知道哪个App被关联到了特定的Intent上,可以在相关设置中尝试重置。“Settings > Applications > Manage applications” 会引导你找到已设置为默认应用的应用,然后可以点击“Clear defaults”。不过,在实际操作时,这种方法可能只能解决一些较为基础的问题。
– 系统会强制用户通过这种方式来选择一个应用程序处理具体的Intent请求。这种设计意味着对于许多内置或第三方App的选择都是固定的,并且没有提供直接的方式来自行管理。

2. 使用根权限工具进行干预

如果是对于已经root了设备的用户,可以借助一些特殊的后台程序来管理这些关联关系。例如,AutoRun Manager (ARM) 这类应用允许用户列出所有已注册的处理器(Intent listeners),甚至能够启用或禁用它们,从而实现对某些程序在特定时间点运行与否的控制。

  • AutoRun Manager功能包括但不限于:列出所有能响应各种类型的Intent的应用;选择性地打开或者关闭这些应用程序的行为。

然而需要注意的是,目前该工具主要是用来处理广播接收者(Broadcast Receivers),对于其他类型的行为(例如活动),可能没有同样有效的手段。尽管如此,这类工具仍然为用户提供了一种间接的方式来管理自己设备上的软件行为和偏好。

综上所述,虽然官方系统对如何查看或更改这些应用与Intent关联提供了有限的支持,但对于那些希望进行更细粒度控制的用户来说,了解并利用特定的应用程序或root权限提供的工具则显得尤为重要。

正文完