Android开发笔记(四十)组件通讯工具Intent

本文详细探讨了Android中Intent的使用,包括其在组件通讯中的核心作用,讲解了显式Intent和隐式Intent的区别,介绍了Intent过滤器的配置,并阐述了Intent如何进行参数传递,包括请求数据和接收应答数据的过程。
摘要由CSDN通过智能技术生成

Intent的用途与组成

Intent用于处理Android各组件之间的通讯。Intent完成的工作主要有三部分:
1、Intent需标明本次通讯请求是从哪里来,到哪里去,要怎么走;
2、发起方携带上本次通讯需要的数据内容,接收方则对收到的Intent数据进行解包;
3、如发起方要求判断接收方的处理结果,Intent还需负责传回应答的数据内容;


Intent由以下部分组成:
Component : 组件,用于指定Intent的来源与目的
Action : 用于指定Intent的动作
Data(即Uri) :  用于指定动作要操纵的数据路径
Category : 用于指定动作的类别
Type : 数据类型,用于指定Data类型的定义
Extras : 扩展信息,用于指定装载的参数信息
Flags : 标志位,用于指定Intent的运行模式(也叫启动标志)。详细说明见上一节的《 Android开发笔记(三十九)Activity的生命周期》。


Intent的来源与目标

显式Intent

显式Intent便是直接指定来源类与目标的类名,属于精确匹配。下面在声明一个Intent对象时,第一个参数就指定了当前来源是MainActivity,第二个参数指定接下来要跳转到FirstActivity。
			Intent intent = new Intent(MainActivity.this, FirstActivity.class);
			startActivity(intent);
查看Intent的源码,看到这个显式的构造函数其实就是指定了一个Component。
    public Intent(Context packageContext, Class<?> cls) {
        mComponent = new ComponentName(packageContext, cls);
    }
所以上面的Intent跳转也可以写成下面直接设置ComponentName的一种形式:
			Intent intent = new Intent();
			ComponentName component = new ComponentName(MainActivity.this, FirstActivity.class);
			intent.setComponent(component);                
			startActivity(intent);


隐式Intent

隐式Intent没有明确指定要跳转的类名,只给出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值