Intent的用法(初步)
可视化的知识便于复习和查找(注:笔记以学习《androi第一行代码》这本书为基础)
什么是Intent?Intent在Android中的核心作用就是“跳转”(Android中的跳转机制),同时可以携带必要的信息,将Intent作为一个信息桥梁。最熟悉的莫过于从一个活动跳转到另一个活动,然后返回到上一个活动。不过Intent的“跳转”作用不仅于此,Intent还可以在其他地方使用,比如在碎片中跳转,接受到一个广播后自动跳转,但是这个时候没有活动(上下文)作为第一个参数该怎么办?问题早已解决。使用隐式跳转即可,他只需要一个参数,下面会提到隐式跳转,这就是有了显式跳转之后,隐式跳转还能存在的一个理由吧。
接才来进入正题,学习使用Intent类和相关的API:
1)显示跳转到下一个活动。
Intent intent = new Intent(this, SecondActivity.class); startActivity(intent); //startActivity方法
2)隐式跳转到下一个活动:需要下一个活动提供“匹配接口”Intentfilter。就相当于口令,一个人发出一条口令,另一个人对上了说明是自己人。
<intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <data android:scheme="http"/> </intent-filter>
Intent intent2 = new Intent("com.example.lenovo.component_activity"); intent2.addCategory("com.example.lenovo.component_activity.MY_CATEGORY"); startActivity(intent2);
Intent intent3 = new Intent(Intent.ACTION_VIEW); intent3.setData(Uri.parse("http://www.baidu.com"));//tel:10086 startActivity(intent3);
Intent.ACTION_VIEW //android.intent.action.VIEW
Intent.ACTION_DIAL
com.example.lenovo.component_activity.ACTION_START
3)传递数据
上一个活动向下一个活动传递数据
intent.putExtra("extra_data", "dafadfadfa"); //键值对下一个活动提取数据
intent = getIntent(); String data = intent.getStringExtra("extra_data"); //通过键提取数据
getIntExtra(String key, int defaultInt);
getBooleanExtra(String key, boolean defaultBoolean);
getCharExtra(String key, char defaultChar);
4)返回数据给上一个活动
上一个活动发出请求
startActivityForResult(intent, 1); //请求码
下一个活动返回数据
Intent intent = new Intent(); intent.putExtra("data_return", "Hello MainActivity"); setResult(RESULT_OK, intent); finish();
上一个活动接受信息
//重写onActiviResult方法 @Override protected void onActivityResult(int requstCode, int resultCode, Intent data){switch (requstCode){ //请求码 case 1:if(RESULT_OK == requstCode){ //处理结果码 RESULT_CANCELED String returnResult = data.getStringExtra("data_return"); }break; default:} }
Intent的用法(初步)相关推荐
- Intent 的用法
1.用Context指定 Intent i=new Intent(context,Receivered.class); context.startActivity(i); 2.通过配置指定 < ...
- 安卓基础之Intent的用法
Intent的用法 意图的分类和用法: 隐式意图:通过指定一组数据或者动作实现 Intent intent=new Intent(); intent.setAction(""); ...
- Android 监听home键(android:launchMode=singleTask 与 onNewIntent(Intent intent) 的用法
android:launchMode="singleTask" 和 onNewIntent(Intent intent)两个特性,现总结一下经验: android:launchMo ...
- 【Android】Android中Intent的用法总结
转载▼ 来源:http://blog.sina.com.cn/s/blog_5f1fe33f0100n5e1.html Intent只在Android中特有,我把它比作一种运载工具,就像飞机一样,会 ...
- [安卓] 7、页面跳转和Intent简单用法
这里有一个layout资源,2个activity.首先在MainActivity.java中实例化按钮和添加按钮监听绑定都是我们知道的,这里要注意的是第22行Intent intent = new I ...
- Intent 简单用法
1.Intent有什么用? Android设计理念是鼓励减少组件间的耦合,因此Android提供了Intent (意图) ,Intent是一种消息传递机制,可以在程序内使用,也可以在程序间使用,主要用 ...
- 几种Intent 的用法
显示网页: Uri uri = Uri.parse("http://www.google.com"); Intent it = new Intent(Intent.ACTION_V ...
- Android Intent的几种用法全面总结
Android Intent的几种用法全面总结 Intent, 用法 Intent应该算是Android中特有的东西.你可以在Intent中指定程序要执行的动作(比如:view,edit,dial), ...
- putextra 传递对象_intent.putextra用法 使用Intent传递对象的两种方式 - 电脑常识 - 服务器之家...
intent.putextra用法 使用Intent传递对象的两种方式 发布时间:2017-05-22 来源:服务器之家 Intent 的用法相信你已经比较熟悉了,我们可以借助它来启动活动.发送广播. ...
最新文章
- 一个JavaBean和DTO转换的优秀案例
- 蓝桥杯小白系列之汇编点亮led灯
- (转)你的团队需要一个领袖,而不是一个主管
- Conference Related to social network.
- python背诵技巧_python如何记忆方法
- 关于使用yum“The program package-cleanup is...”的解决办法
- 整理python小爬虫
- 高可用Hadoop平台-应用JAR部署
- 黑马程序员 HTML基础
- 超简单,自己动手写一个二维码生成器
- 通信光缆故障检测如何进行检测?
- mysql 8.0.22详细安装步骤
- 2021年中国石油市场回顾及2022年行业发展趋势分析预测:2021年石油需求震荡修复,石油对外依存度首次下降,预计2022年石油需求7.35亿吨[图]
- chm格式怎么打开?
- 硬盘分区工具找不到硬盘该怎么办
- 巨头卡位物联网 纷纷瞄准家庭网关设备
- 洛谷P5633 最小度限制生成树 题解
- 分享107个PHP源码,总有一款适合您
- 《小学四则运算练习软件软件需求说明》结对项目报告
- linux 室内设计软件,功能强大!Ubuntu下安装最新免费3D室内设计软件