intent详解2
2016-09-24 09:15
701 查看
紧接着上一篇–intent详解1
http://blog.csdn.net/qq_30960163/article/details/52648150
这篇介绍intent的Extra属性、Flag属性;显式Intent和隐式Intent以及使用intent传递数据
4.Extra属性
它是以Key-value对的形式发送给处理这个Intent对象的组件的附加信息
Intent 对象为插入各种类型的附加数据会有一系列的put…()方法,并为读取数据也会有一组类似的get…()方法。这些方法并行于Bundle对象一些方法。 实际上,附加信息能够作为一个Bundle对象使用putExtras()和getExtras()方法来安装和读取。
5.Flag属性
Intent对象有各种标记,很多都是用于指示Android系统如何启动Activity(如,Activity应该属于哪个任务),以及启动后如何处理(如,它是否属于最近的Activity列表)。所有这些标记都在Intent类中定义。
Android系统和平台相关的应用都采用Intent对象来发出面向系统的广播和激活系统定义的组件。
6.Action和Data隐式属性启动系统Activity
因为启动系统自带的Activity,不需要在清单文件中配置intent-filter元素。
3.显式Intent和隐式Intent
1.显式Intent启动Activity
Component属性启动Activity就是显式用法。常用下面的方法来显式启动Activity。
2.隐式Intent启动Activity
Action和Category属性启动组件,Data和Type属性启动组件,Action和Data属性启动系统Activity都是隐式Intent。
4.传递数据
1.向下一个Activity传递数据
比如MainACtivity传递一个字符串(hello)给PrivacytermsActivity类
MainACtivity中添加如下代码
PrivacytermsActivity需要接受数据的地方添加如下代码
2.返回数据给上一个活动
比如PrivacytermsActivity要返回一个字符串(return hello)给MainACtivity类
首先MainACtivity类通过Intent启动PrivacytermsActivity类,然后PrivacytermsActivity类需要调用setResult()方法来设置处理结果。最后MainACtivity类需要重写onActivityForResult()方法获得返回数据。
代码
MainACtivity类添加如下代码
PrivacytermsActivity需要传递返回数据的地方添加如下代码
http://blog.csdn.net/qq_30960163/article/details/52648150
这篇介绍intent的Extra属性、Flag属性;显式Intent和隐式Intent以及使用intent传递数据
4.Extra属性
它是以Key-value对的形式发送给处理这个Intent对象的组件的附加信息
Intent 对象为插入各种类型的附加数据会有一系列的put…()方法,并为读取数据也会有一组类似的get…()方法。这些方法并行于Bundle对象一些方法。 实际上,附加信息能够作为一个Bundle对象使用putExtras()和getExtras()方法来安装和读取。
5.Flag属性
Intent对象有各种标记,很多都是用于指示Android系统如何启动Activity(如,Activity应该属于哪个任务),以及启动后如何处理(如,它是否属于最近的Activity列表)。所有这些标记都在Intent类中定义。
Android系统和平台相关的应用都采用Intent对象来发出面向系统的广播和激活系统定义的组件。
6.Action和Data隐式属性启动系统Activity
Intent in = new Intent(); in.setAction(Intent.ACTION_VIEW); in.setData(Uri.parse("http://www.baidu.com")); startActivity(in);
因为启动系统自带的Activity,不需要在清单文件中配置intent-filter元素。
3.显式Intent和隐式Intent
1.显式Intent启动Activity
Component属性启动Activity就是显式用法。常用下面的方法来显式启动Activity。
Intent in = new Intent(AboutUsActivity.this,PrivacytermsActivity.class); startActivity(in); 或者 startActivity(new Intent(AboutUsActivity.this,PrivacytermsActivity.class));
2.隐式Intent启动Activity
Action和Category属性启动组件,Data和Type属性启动组件,Action和Data属性启动系统Activity都是隐式Intent。
4.传递数据
1.向下一个Activity传递数据
比如MainACtivity传递一个字符串(hello)给PrivacytermsActivity类
MainACtivity中添加如下代码
Intent in = new Intent(MainActivity.this,PrivacytermsActivity.class); in.putExtra("extra_data","hello"); startActivity(in);
PrivacytermsActivity需要接受数据的地方添加如下代码
Intent intent = getIntent(); String data = intent.getStringExtra("extra_data");
2.返回数据给上一个活动
比如PrivacytermsActivity要返回一个字符串(return hello)给MainACtivity类
首先MainACtivity类通过Intent启动PrivacytermsActivity类,然后PrivacytermsActivity类需要调用setResult()方法来设置处理结果。最后MainACtivity类需要重写onActivityForResult()方法获得返回数据。
代码
MainACtivity类添加如下代码
Intent in = new Intent(MainActivity.this,PrivacytermsActivity.class); //第二个参数是请求码 startActivityForResult(in,0); //重写onActivityResult @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode){ case 0: if (resultCode == RESULT_OK){ String returnData = data.getStringExtra("return_data"); } break; } }
PrivacytermsActivity需要传递返回数据的地方添加如下代码
Intent intent = new Intent(); intent.putExtra("return_data","return hello"); //第一个参数表示用于向上一个活动返回处理的结果 setResult(RESULT_OK,intent); finish();
相关文章推荐
- Android Intent 用法全面总结及实例代码
- Android 使用Intent传递数据的实现思路与代码
- Android组件间通信--深入理解Intent与IntentFilter
- Android中Intent机制详解及示例总结(总结篇)
- Android使用Intent发送短信的实现方法
- 详解Activity之singletast启动模式及如何使用intent传值
- Android利用Intent实现读取图片操作
- Android Activity与Intent详解及示例代码
- Intent传递对象之Serializable和Parcelable的区别
- Android中的Intent对象完全解析
- android教程之intent的action属性使用示例(intent发短信)
- 从源码剖析Android中的Intent组件
- Android编程开发之打开文件的Intent及使用方法
- Android中Intent习惯用法
- Android使用Intent启动其他非系统应用程序的方法
- Android Intent启动别的应用实现方法
- 详解Android中Intent的使用方法
- Android实现打开各种文件的intent方法小结
- Android利用Intent实现记事本功能(NotePad)
- Android开发之利用Intent实现数据传递的方法