2011-02-03 91 views
2

我正在阅读android的intent过滤器,并且有几个问题需要问。Android上的意图过滤器

  1. 它们是否与同一应用程序或所有应用程序中的过滤器匹配?

  2. 在数据标签内的计划,我已经看过了android sdk网站上的文档,但不知道它是什么意思。它说方案://主机:端口/路径pathPrefixpathPattern

什么是主机端口和路径....什么路径涉及到?

回答

1

1)取决于请求的意图类型。见隐VS明确意图的文档的“意图解决办法”部分:

http://developer.android.com/guide/topics/intents/intents-filters.html

如果命名组件完全相同,那么你知道哪些活动将启动。其他意图命名一个通用行为,并可以通过多个活动进行匹配。用户得到一个菜单,询问他们想要使用哪个应用程序来正常完成操作。例如,从Marketplace中下载Firefox应用程序,然后单击电子邮件中的链接,您会收到一条提示,询问您是要使用浏览器还是Firefox来打开URL。

2)这是为了拦截自定义URL方案或覆盖HTTP请求。听起来不像你想做的事情,除非你需要使用它,否则你可以放心地忽略它。如果你想了解它的详细信息有一些很好的答案已经是一个问题:

Launch custom android application from android browser

+0

如果我想将自定义对象或字符串发送到其他活动,我们在方案中放入了什么。 – LittleFunny 2011-02-04 00:50:39

1

1)看@mikerowehl回答

2)数据通过统一资源Indentifiers引用(URI的)。在Android中,方案可能是http,tel,file,content(不知道其他人),并且通过在过滤器中指定某个方案,您说组件可以处理以这种方式提供的数据。

host + port = authority。如果数据的方案是http,主机当然会像stackoverflow.com一样,端口可能没有指定(如果你正在访问代理,它可能是8080)。如果是内容提供者,则按照约定“内容提供者的完全合格类名称(小写)”,不带端口。

这应该是一般的想法。这个领域的文档相当分散,但您应该能够在需要时找到有关特定任务的信息(例如打开电子邮件附件)。