我正在阅读android的intent过滤器,并且需要提出一些问题。
它们是否与同一应用程序或所有应用程序中的过滤器匹配?
数据标签中的方案,我查看了android sdk网站上的文档,但不知道它是什么意思。它说 scheme:// host:port / path 或 pathPrefix 或 pathPattern
什么是主机端口和路径....路径与什么相关?
答案 0 :(得分:1)
1)取决于所请求的意图类型。请参阅文档的“意图解析”部分中的隐式与显式意图:
http://developer.android.com/guide/topics/intents/intents-filters.html
如果您准确命名组件,那么您就知道将启动哪个活动。其他意图命名一般动作,可以由多个活动匹配。用户获得一个菜单,询问他们想要使用哪个应用程序来正常完成操作。例如,从市场下载Firefox应用程序并单击电子邮件中的链接,您将收到一个提示,询问您是否要使用浏览器或Firefox打开URL。
2)用于拦截自定义URL方案或覆盖HTTP请求。听起来这不是你感兴趣的东西,你可以安全地忽略它,除非你需要使用它。如果您确实需要更多关于它的信息,那么问题已经有了一些好的答案:
答案 1 :(得分:1)
1)见@mikerowehl回答
2)数据通过统一资源标识符(URI)引用。在Android中,方案可以是http
,tel
,file
,content
(不了解其他人)并通过在过滤器中指定某个方案来说明您的组件可以处理以这种方式提供的数据。
主机+端口=权限。如果数据的方案是http,主机当然会像stackoverflow.com,端口可能没有指定(如果您正在访问代理,它可能是8080)。对于内容提供者,权限是按照惯例“内容提供者的完全限定类名(小写)”,没有端口。
这应该是一般的想法。此字段中的文档非常分散,但您应该能够在需要时找到有关特定任务的信息(例如打开电子邮件附件)。