Android讲义3---第五章---Data,Type属性与intent-filter配置

来源:互联网 发布:betterzip mac 编辑:程序博客网 时间:2024/05/29 00:33
Data属性通常用于向Action属性提供操作的数据
Data属性接收Uri对象,例如content://com.android.contacts/contacts/1或者tel:123456
Uri的格式是
scheme://host:port/path
Data属性与Type属性会互相覆盖,后设置的会覆盖前设置的。
如果希望两个都存在,则应该使用setDataAndType方法

在AndroidManifest.xml中为Data,Type属性都通过<data.../>元素设置。
<data../>元素的格式:
<data android:mimeType="" 用于声明该组件所能匹配的Intent的Type属性
android:scheme="" 用于声明该组件所能匹配的Intent的scheme部分
android:host="" 用于声明该组件所能匹配的Intent的host部分
android:port="" 用于声明该组件所能匹配的Intent的port部分
android:path="" 用于声明该组件所能匹配的Intent的path部分
android:pathPrefix="" 用于声明该组件所能匹配的Intent的path前缀部分
android:pathPattern="" 用于声明该组件所能匹配的Intent的path字符串模板部分
/>

注意:如果只指定了port属性,没指定host属性,则port属性将不起作用

1:如果目标data元素只指定了scheme,则Intent的scheme与之相同,则可以启动该组件
2:如果目标data元素只指定了scheme,host属性,则Intent的scheme,host与之相同,则可启动该组件
3:如果目标data元素指定了scheme,host,port属性,则Intent的scheme,host,port与之相同,则可启动该组件
4:如果目标data元素只指定了scheme,host,path,port属性,则Intent的scheme,host,path,port依次相同,则可启动该组件

使用Action,Data属性启动系统Activity。
例如:
ACTION_VIEW content://com.android.contacts/contacts/1   显示标识为1的联系人的信息
ACTION_EDIT ....................................................................    编辑标识为1的联系人的信息
ACTION_DIAL  ...................................................................    显示标识为1的联系人的拨号界面