Activity 之间的通信

Activity通过startActivity启动另一个Activity,并同过Intent显示或隐式的方式指定将启动的Activity,Intent创建的的两个参数一个是启动活动的上下文,一个是要启动的活动。然后就能启动特定的Acitivity。如果只有一个参数,action和category匹配即可启动另一个Acitivity。Activity要想将信息返回,可通过startActivityForResult传入请求码,启动的Activity可通过setResult把intent返回。第一个activity在通过重写onActivityResult进行处理。



1.需要注意的是,在隐式启动ac tivity时,如果没有指定category,则系统默认启动category为android.intent.category.DEFAULT的activity

所以你也必须在AndroidMenifast中对你要启动的activity显示指定<category android:name="android.intent.category.DEFAULT">

隐式启动时intent至少指定一个action,在xml文件中可以指定多个action,如果有一个action与intent指定的相同,则action匹配成功。注意action匹配时区分大小写!!

category在intent中可以不指定,但如果指定了,xml文件中必须具有所有intent指定的category,才能匹配成功。


2.附上常用的action  http://blog.csdn.net/ithomer/article/details/8242471


3.除了action 和category 还有data

data由两部分组成:mimeType 和uri    

android.mimeType 用于指定可以处理的数据类型,如是文本,图片,视频等


而uri组成为<scheme>://<host>:<port>/[<path>|<pathPrefix>|<pathPattern>] 

android.scheme:用于指定数据的协议部分,如不指定uri将无效

android.host:用于指定数据的主机名部分,如不指定uri无效

android.port:用于指定数据的端口部分,scheme和host指定了才指定

android.path:用于指定数据的主机名和端口之后的部分

举例:http://www.baidu.com:88/search/info(自行对照)-> uri


data匹配规则是都匹配才能匹配成功





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值