【Android学习笔记】Intent的基本作用
来源:互联网 发布:人体工学椅 知乎 推荐 编辑:程序博客网 时间:2024/05/16 02:35
看了传智播客的视频(50+个),对安卓刚刚有了一定的了解。
现在正在看mars的视频教程,算是复习一下。希望跟我有同样梦想的朋友,大家一起加油!
一个Intent对象包含了一组信息:
1.Component name
记录Intent对象要启动的哪个组件,可以是Activity,也可以是Service,也可以是BroadcastReceiver
2.Action
指定组件要做哪些动作
比如官方文档就设置了一些Action常量,ACTION_CALL, ACTION_MAIN, ACTION_BATTERY_LOW等等
3.Data
一个activity向另外的Activity传输的信息(URL和MIME类型)
比如action是ACTION_CALL,那么data就应当以tel:开头,后面加上拨打的号码
setData()方法:只用来指定data的URI
setType()方法:只用来指定data的MIME类型
如果又要设置URI又要指定MIME,不能去依次调用上面的方法,需要用setDataAndType()
4.Category
指定要启动的组件的类型,可以通过category或者action,根据AndroidManifest.xml中各个Activity定义的intent-filter,来自动查找,启动隐式意图(不用指定组件的class)
5.Extras
额外的信息,是一些键值对。
例如:
Intent intent=new Intent("......");
intent.putExtra("name","xiaojing");
startActivity(intent);
这样在另一个Activity中,这样就能通过intent对象,来得到name这个属性值:
Intent intent=getIntent();
String name=intent.getStringExtra("name");
还有一种在Intent对象中存入额外信息的方法是:通过Intent中的Bundle对象
Bundle bundle=intent.getBundleExtra();
bundle.putString("name","xiaojing");
6.Flags
关于intent的flag问题。发现一篇博客,解释的挺好的,感谢原作者的分享
出处:http://www.cnblogs.com/mybkn/
android:intent flags
一、Activity和Task(栈)的关系
Task就像一个容器,而Activity就相当与填充这个容器的东西,第一个东西(Activity)则会处于最下面,最后添加的东西(Activity)则会在最低端。从Task中取出东西(Activity)则是从最顶端取出,也就是说最先取出的是最后添加的东西(Activity),一次类推,最后取出的是第一次添加的Activity,而Activity在Task中的顺序是可以控制的,那则在Activity跳转时用到Intent Flag
二、界面跳转和服务的启动都会用到Intent,现在介绍Intent Flag是关于Activity的跳转
Intent intent = new Intent(this,xxx.class);
//如果activity在task存在,拿到最顶端,不会启动新的Activity
intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
//如果activity在task存在,将Activity之上的所有Activity结束掉
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
//默认的跳转类型,将Activity放到一个新的Task中
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//如果Activity已经运行到了Task,再次跳转不会在运行这个Activity
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
使用Intent发送消息
Uri uri=Uri.parse("smsto://13916052547");
Intent intent=new Intent(Intent.ACTION_SENDTO,uri);
intent.putExtra("sms_body","SMS content:Hello");
startActivity(intent);
//效果是,会开启短信发送的应用页面,并自动填好了短信接收方的号码和短信正文的内容
//所以intent对象能访问不同App的Activity
- 【Android学习笔记】Intent的基本作用
- Android学习-Intent的作用
- Android学习笔记----Intent基本用法
- Android Intent的作用
- Android 学习笔记(10)—— Intent 基本运用
- Android学习笔记--Intent
- android学习笔记---Intent
- Android学习笔记 - Intent
- 雾山的Android学习笔记---Intent
- 雾山的Android学习笔记---Intent
- Intent的用法 - Android学习笔记2
- Android学习笔记--3.Intent的使用
- Android学习笔记-Intent的显式隐式
- Android Intent学习之 隐式意图&IntentFilter的作用
- Android项目学习—Intent的作用详解
- Android Intent action 的作用
- android中intent的作用
- android学习笔记之Intent&Intent filter
- C++ 实现空心等腰直角三角形打印
- 2014 移动组计划
- Zlib文件压缩和解压
- Arduino的ADXL345库文件(附下载链接)
- Android的系统架构
- 【Android学习笔记】Intent的基本作用
- 从 MFC 3.0 升级到 8.0 后不受支持的 eVC 类的列表
- HDU1425整数HASH
- python学习笔记:泊松分布和负指数分布随机数的python实现
- POJ 1703 && poj 1182【典型并查集】
- 《XML实用大全》一
- 支持向量机(SVM)非线性数据分割
- FileZilla 连接成功,但读取列表失败解决方案。
- 用于运行 ASP.NET 的进程帐户必须具有对 IIS 元数据库(如 IIS://servername/W3SVC)的读访问权