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字符串模板部分
/>
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的联系人的拨号界面