Android开发-Intent(意图)

往期回顾:

Android布局和控件

Activity(活动)的生命周期

安卓逆向交流学习:342647370

vx:yijin1108an

1.1 Intent的介绍

1.Intent是什么?

Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的activity, service和broadcast receiver之间的交互。

Intent是一种运行时绑定(runtime binding)机制,它能在程序运行的过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来响应。

2.Intent种类

1)显式Intent,即直接指定需要打开的activity对应的类。

显式Intent通过Component可以直接设置需要调用的Activity类,可以唯一确定一个Activity,意图特别明确,所以是显式的。设置这个类的方式可以是Class对象,也可以是包名加类名的字符串。

2)隐式Intent,不明确指定启动哪个Activity,而是设置Action、Data、Category,让系统来筛选出合适的Activity。筛选是根据所有的来筛选。

3. Intent属性
(1)Intent对象大致包括7大属性:Action(动作)、Data(数据)、Category(类别)、Type(数据类型)、Component(组件)、Extra(扩展信息)、Flag(标志位)。其中最常用的是Action属性和Data属性。 Action:用来表现意图的行动。常见的action,如下表所示:

在这里插入图片描述

Data:表示与动作要操纵的数据
Category:用来表现动作的类别

(2)下面列举一些常用的category:

在这里插入图片描述

Type:指定数据类型
Component:目的组件,指定Intent的目标组件名称
Extra:扩展信息

在这里插入图片描述

Flag:期望这个意图的运行模式,用来指示系统如何启动一个Activity。

1.2 Intent的作用

Activity、Service和Broadcast Receiver之间是通过Intent进行通信,如下图所示。

在这里插入图片描述

如果Activity1需要和Activity2进行联系,二者不需要直接联系,而是通过Intent作为桥梁。

Intent实现页面之间跳转存在两个不同的方法,如下图所示。
1.跳转不返回数据
2.跳转返回数据
1>startActivity(intent)
2>startActivityForResult(intent, requestCode);
onActivityResult(int requestCode, int resultCode, Intent data)
setResult(resultCode, data);

在这里插入图片描述

1.3 实例

1.第一种启动方式(跳转不返回数据)
2.第二种启动方式(跳转返回数据)
(1)先看第一种,如下图所示。

在这里插入图片描述
在这里插入图片描述

点击第一种启动方式按钮会出现右边的图,然后再点击Button按钮返回左边的界面,TextView中的内容没变。

(2)再看第二种启动方式,如下图所示:
与上述不同的是,点击Button按钮返回左边的界面,TextView中的内容变成“你好”了。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

小结:

本次主要分享了Intent(意图):
1.Activity、Service和Broadcast Receiver之间是通过Intent进行通信。
2.Activity(活动)的两种启动方式:startActivity:跳转不返回数据。startActivityForResult:跳转返回数据。

如果你也对安卓逆向感兴趣。欢迎扫码关注,关注回复 “安卓逆向” 获取免费教程。

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值