对Intent,Context和覆盖默认行为的澄清

时间:2011-08-10 15:13:21

标签: android android-intent

为了概括,我理解我的应用程序可以声明处理特定意图的活动(按类别和操作过滤)。我可以声明我的应用程序来处理ACTION_VIEW,并以某种方式将它神奇地注册为系统的浏览器。这是怎么做到的?是否存在任何人都知道的资源,以进一步了解哪些操作/类别组合允许应用程序将自己注册到系统,例如浏览器?

具体来说,我想知道如何将我的应用程序注册为消息等待指示器通知的处理程序,这样如果从通知栏中点击,我的应用程序将被选为“使用...完成操作” “

我能找到的与语音邮件/ MWI相关的唯一目标操作是ACTION_DIAL,但是我想在通知栏中点击MWI时打开我的应用程序。

1 个答案:

答案 0 :(得分:1)

说实话,我一直试图获得一个Intent数据库,开发人员可以发布他们自己的Intent(当然,他们必须有办法确保人们不会滥用它)。

指定意图的方式是在清单中指定操作(action_view等)和要捕获的前缀,比如“http://”,然后在安装应用程序时注册。当类别,动作,前缀和其他数据基于特定意图匹配时,它将被调用。

要接收意图,例如您要尝试的意图,您必须在清单上注册“接收者”类。当意图被广播时,它将被调用。

并非所有操作都可以被监听。我不确定当标签通知是标签时是否发送广播。您将不得不查看Android源代码来解决这个问题。或者谷歌会帮助你。但我认为标签操作不太可能触发意图广播。

祝你好运!