Android菜鸟的成长笔记(9)——Intent与Intent Filter(下)

  次阅读 作者:智能小宝 来源:互联网 2016-01-14 09:28 我要评论(0)

接着上一篇的内容,下面我们再来看看Intent的Data与Type属性。

一、Data属性与Type属性

Data属性通常用于向Action属性 提供操作的数据,Data属性接受一个Uri对象

格式:scheme://host:port/path

例如:

content://com.android.contacts/contacts/1

tel:123

其中prot部分被省略了,contacts/1是path部分。

Type属性用于指定该Data所指定Uri所对应的MIME类型,这种MIME类型可以是自定义的,但是要符合abc/xyz格式。

二、Data属性与Type属性之间的关系

Type属性和Data同时出现会出现覆盖现象,如果要同时设置要使用setDataAndType()方法,举例如下:

//Type属性被Data覆盖

public void overrideType(View source){

Intent intent = new Intent();

intent.setType("abc/xyz");

intent.setData(Uri.parse("lee://www.baidu.com:80/test"));

}

//Data属性被Type覆盖

public void overrideData(View source){

Intent intent = new Intent();

intent.setData(Uri.parse("lee://www.baidu.com:80/test"));

intent.setType("abc/xyz");

}

//同时设置Data和Type

public void dataAndType(View source){

Intent intent = new Intent();

intent.setDataAndType(

Uri.parse("lee://www.baidu.com:80/test"), "abc/xyz");

} 在manifest配置文件中配置Activity的方法如下

android:scheme=""

android:host=""

android:port=""

android:path=""

android:pathPrefix=""

android:pathPattern=""/>

三、Data属性与Type属性的匹配方式

Type属性也是用户指定组件匹配的组件,Type是需要严格匹配的。

Data属性则不需要严格匹配,过程如下:

如果指定了android:scheme属性,那么只要Intent的Data属性的scheme部分与android:scheme属性相同就可以启动该组件。

如果制定了android:scheme属性和android:host需要两个属性与Intent的Data部分的该部分相同则启动该组件。

如果定制了android:scheme、android:host、android:port属性则需要与该部分相同才能启动该组件。

...................

四、小练习

Intent intent = new Intent();

String data = "http://blog.csdn.net/dawanganban";

Uri uri = Uri.parse(data);

intent.setAction(Intent.ACTION_VIEW);

intent.setData(uri);

startActivity(intent);

Intent intent = new Intent();

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...