Andorid开发中Intent的用法

从字面上来说,Intent是意图的意思。你想做什么,可以告诉Intent,它可以帮你干活。

Intent是安卓提供的一种运行机制,它可以进行不同页面切换,数据传递,调用外部组件等操作。可以理解为一个不同组件之间的媒介的角色。

Intent的属性有Action(动作),Data,Category(分类),Type(类型),Compent,Extra(扩展)等。其中Action最常用。

常量含义
Intent.ACTION_MAINactivity为一个程序的开始
Intent.ACTION_GET_CONTENT用户可以选择图片、文件等多媒体数据
Intent.ACTION_SEND发送邮件
Intent.SMS_RECEIVED接收邮件
Intent.ACTION_AMSWER处理呼入的电话
Intent.ACTION_CALL_BUTTON按拨号键
Intent.ACTION_CALL呼叫指定的电话号码(直接拨打)

Activity之间的传值可以通过intent来完成。

通过以下代码来创建一个Intent。

Intent intent = new Intent(当前的activity.this,另一个activity.class);//此intent的目的是从当前的activity跳转到另一个activity。

当然,也有另外一种方法,是等价的。

Intent intent = new Intent();
intent.setClass(当前的activity.this,另一个activity.class);

通过以下代码来向intent中放入数据。

这里需要引入一个类Bundle,中文意思是糖葫芦,把想传递的数据以key-value的形式穿成糖葫芦,扔给另一个Activity。

Bundle bundle = new Bundle();
bundle.putString("key","value");
//存放数据,同时bundle还有其他方法,例如remove(String key)移除指定的key
//getString(String key) 获取指定key的值 等方法。
intent.putExtras(bundle);//数据对象坐上intent的车,intent帮忙给运过去

然后通过以下代码来启动另一个activity,同时也传值过去

startActivity(intent);//切换到另一个Activity

另一个Activity 通过这种方式取到传过来的值。

Bundle bundle = this.getIntent().getExtras();
String str = bundle.getString("key");

此外,还有intent另外的一些使用方式,例如拨打电话等。

Uri call= Uri.parse("tel:88888888");  
Intent intent = new Intent(Intent.ACTION_DIAL, call);  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冷风在北京

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值