使用Intent和IntentFilter进行通信

(一)Intent的属性及intent-filter配置
1.Component属性
Component的构造器
ComponentName(String pkg,String cls)
ComponentName(Context pkg,String cls)
ComponentName(Context pkg,Class<?> cls)

setComponent(ComponentName cpn)
setClass(Context packageContext,class<?> cls)设置该Intent将要启动的组件对应的类
setClassName(Context packageContext,String className)设置该Intent将要启动的组件对应的类名
setClassName(Context packageContext,String className)设置该Intent将要启动的组件对应的类名
指定Component属性,即指定将要启动那个组件
2.Action,Category属性与intent-filter配置
setAction(String s) 设定Intent启动指定<Action />的Activity
<intent-filter />属性通常包含如下子元素
0~N个<Action />元素
0~N个<category />元素
0~1个<date />元素
<intent-filter>.....<intent-filter/>元素也可以是<service/>和<receiver/>元素的子元素
<action />和<category />子元素都可以指定android:name属性,该属性就是一个普通的字符串
例如
<action android:name="org.crayzit.Intent.action_helloworld" />
setCategory(String s) 设定Intent将要启动指定category的组件
3.指定Action,Category调用系统的Activity
1.Data,Type属性与intent-filter配置
setData(Uri.parse(String s))
Uri字符串总满足。
scheme://host:port/path
Date与Type属性会相互覆盖,后设置的会覆盖先设置的
如果Intent希望同时拥有两个属性,setDataAndType()方法
在AndroidManifest.xml文件中为组件声明data的格式如下
<data android:mimeType=""
   android:scheme=""
   android:host=""
           android:port=""
   android:path=""
   android:pathPrefix=""
   android:pathPattern=""
/>
mimeType声明该组件所能匹配的Intent的Type属性
scheme用于声明该组件所能匹配的Intent的Data属性的scheme部分
host用于声明该组件所能匹配的Intent的Data属性的host部分
port用于声明该组件所能匹配的Intent的Data属性的port部分
path用于声明该组件所能匹配的Intent的Data属性的path部分
pathPrefix用于声明该组件所能匹配的Intent的Data属性的path前缀
pathpattern用于声明该组件所能匹配的Intent的Data属性的path字符串模板
如果需要Data元素起作用,至少必须指定一个action元素
4.Extra属性
Extra通常是用于多个Action之间进行数据交换,Extra属性是一个Bundle对象,通过key-value对进行数据交换
5.Flag属性
addFlags()方法 为该Intent添加一些额外的控制旗标
6.使用Intent创建Tab页
setContent(int viewId) 直接将指定的View组件设置成Tab页的Content
setContent(Intent intent) 将Intent对应的Activity设置成Tab页中的Content
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值