Intent学习笔记(一)
来源:互联网 发布:it公司市值排名 编辑:程序博客网 时间:2024/06/05 03:14
//主键的激活方式 --意图Intent
Intentintent = new Intent();
1-->intent.setClass(Context packageContext,Class<?> cls);参数(上下文对象,待激活组件类)
2-->intent.setClassName(Context packageContext,String className);参数(上下文对象,待激活组件类名)
3-->intent.setClassName(String packageName,String className);参数(待激活组件包名,待激活组件类名),跨应用激活
4-->intent.setComponent(Component component);参数(new ComponentName(pkg, cls))
5-->Intentintent = new Intent(Context packageContext, Class<?> cls)
startActivity(intent);
//要求所激活的组件返回数据
startActivityForResult(Intent intent,int requestCode)
requestCode请求码,区分返回数据的来源
//以上皆为显式Intent
//下面看隐式Intent
隐式意图就是不明确指定需要被激活的组件,而由系统通过Intent所设置的Action(动作),category(类别),data(数据),type(类型)去匹配清单文件中所有组件中intent-filter的各项参数,从而找出最合适的组件
Intentintent = new Intent();
intent.setAction("org.zjl.xx");
intent.addCategory("org.zjl.category.xx");
未设置数据参数data和类型参数type时,只要Intent的Action和Category都出现在某个组件的intent-filter中,就可以与之匹配
intent.setData(Uri.parse("xxx://org.zjl.**/(path)"));data参数为Uri类型
intent.setType("image/jpeg");当使用这个方法设置类型时,会把intent的data数据清除,需要时可以使用下面这个方法
intent.setDataAndType(Uri data,String type);
startActivity(intent);执行这个方法时,系统会为intent注册一个默认类别android.intent.category.DEFAULT
所以,还需要在清单文件中intent-filter中额外添加这个类别
<catagoryandroid:name="android.intent.category.DEFAULT">
//基本类型数据传递
1-->intent.putExtra(String name,Object value);参数(参数名,参数值)
2-->Bundlebundle = new Bundle();
bundle.putString(String key,String value);
bundle.putInt(String key,int value);
...
intent.putExtras(bundle);
//获得已激活组件所返回的数据
重写方法
voidonActivityResult(int requestCode,int resultCode,Intent data){}
requestCode请求来源
resultCode响应来源
data返回的数据
****************************************************************************************
//在已激活组件中获取数据
1-->intent = getIntent();
intent.getStringExtra(name);
intent.getIntExtra(name,defaultValue);
...
2-->类似于Map的Bundle对象,intent内部使用的就是这个对象存放数据
Bundlebundle = intent.getExtras();
bundle.getString(key);
bundle.getInt(key);
...
//被要求返回数据
在组件关闭之前
Intentdata = new Intent();
1-->data.putExtra(String name,Object value);
2-->data.putExtras(bundlebundle);
setResult(resultCode,data);
resultCode结果码
data数据
- Intent学习笔记(一)
- Android学习笔记-Intent(一)
- Android学习笔记-Intent(一)
- Intent 笔记(一)
- android 学习笔记(一):Intent 和 Intent 过滤器 跟着API指南来学习
- Android学习笔记--intent的运用(一)
- 安卓学习笔记(一)显式Intent与隐式Intent
- Android学习笔记(一)-------浅谈Intent思路
- Android学习笔记(一) Intent用法总结
- Android学习总结(一)---Intent
- android学习笔记(六) intent
- Android学习笔记(7):Hello Intent
- Android学习笔记(四)Intent
- Android学习笔记之Intent(意图)
- Intent机制学习笔记
- Intent学习笔记整理
- Intent学习笔记
- Android学习笔记--Intent
- 黑马程序员————学习日记【16】 【银行业务调度系统】
- 内存空间:堆栈的区别
- 第五章(笔记总结)
- c++ const引用和非const引用
- 未能加载文件或程序集“SQLServerDAL”或它的某一个依赖项。系统找不到指定的文件
- Intent学习笔记(一)
- cocos2d-x瓦片地图集 精灵对象与地图的遮挡关系
- C语言的编译链接过程的介绍
- 【No.5】JS定义函数参数默认值的时候以为像其他程序语言一样可以直接声明
- iOS 动画实现
- ASP.NET实验五:实现输入内容提示的功能(仿google_百度输入框提示)
- Activity生命周期
- 杭电2016
- 求图的绝对中心 && 最小直径生成树 MDST