可视化的知识便于复习和查找(注:笔记以学习《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的用法(初步)相关推荐

  1. Intent 的用法

    1.用Context指定 Intent i=new Intent(context,Receivered.class);   context.startActivity(i); 2.通过配置指定 < ...

  2. 安卓基础之Intent的用法

    Intent的用法 意图的分类和用法: 隐式意图:通过指定一组数据或者动作实现 Intent intent=new Intent(); intent.setAction(""); ...

  3. Android 监听home键(android:launchMode=singleTask 与 onNewIntent(Intent intent) 的用法

    android:launchMode="singleTask" 和 onNewIntent(Intent intent)两个特性,现总结一下经验: android:launchMo ...

  4. 【Android】Android中Intent的用法总结

    转载▼ 来源:http://blog.sina.com.cn/s/blog_5f1fe33f0100n5e1.html  Intent只在Android中特有,我把它比作一种运载工具,就像飞机一样,会 ...

  5. [安卓] 7、页面跳转和Intent简单用法

    这里有一个layout资源,2个activity.首先在MainActivity.java中实例化按钮和添加按钮监听绑定都是我们知道的,这里要注意的是第22行Intent intent = new I ...

  6. Intent 简单用法

    1.Intent有什么用? Android设计理念是鼓励减少组件间的耦合,因此Android提供了Intent (意图) ,Intent是一种消息传递机制,可以在程序内使用,也可以在程序间使用,主要用 ...

  7. 几种Intent 的用法

    显示网页: Uri uri = Uri.parse("http://www.google.com"); Intent it = new Intent(Intent.ACTION_V ...

  8. Android Intent的几种用法全面总结

    Android Intent的几种用法全面总结 Intent, 用法 Intent应该算是Android中特有的东西.你可以在Intent中指定程序要执行的动作(比如:view,edit,dial), ...

  9. putextra 传递对象_intent.putextra用法 使用Intent传递对象的两种方式 - 电脑常识 - 服务器之家...

    intent.putextra用法 使用Intent传递对象的两种方式 发布时间:2017-05-22 来源:服务器之家 Intent 的用法相信你已经比较熟悉了,我们可以借助它来启动活动.发送广播. ...

最新文章

  1. 一个JavaBean和DTO转换的优秀案例
  2. 蓝桥杯小白系列之汇编点亮led灯
  3. (转)你的团队需要一个领袖,而不是一个主管
  4. Conference Related to social network.
  5. python背诵技巧_python如何记忆方法
  6. 关于使用yum“The program package-cleanup is...”的解决办法
  7. 整理python小爬虫
  8. 高可用Hadoop平台-应用JAR部署
  9. 黑马程序员 HTML基础
  10. 超简单,自己动手写一个二维码生成器
  11. 通信光缆故障检测如何进行检测?
  12. mysql 8.0.22详细安装步骤
  13. 2021年中国石油市场回顾及2022年行业发展趋势分析预测:2021年石油需求震荡修复,石油对外依存度首次下降,预计2022年石油需求7.35亿吨[图]
  14. chm格式怎么打开?
  15. 硬盘分区工具找不到硬盘该怎么办
  16. 巨头卡位物联网 纷纷瞄准家庭网关设备
  17. 洛谷P5633 最小度限制生成树 题解
  18. 分享107个PHP源码,总有一款适合您
  19. 《小学四则运算练习软件软件需求说明》结对项目报告
  20. linux 室内设计软件,功能强大!Ubuntu下安装最新免费3D室内设计软件

热门文章

  1. 智能名片如何在会场营销落地
  2. 如何记录日常收支,将账目导出生成表格保存
  3. 作为一个大学生如何自学计算机编程
  4. 【小学生打字练习软件】_在线网上打字比赛软件系统
  5. 嵌入式课后总结(3)
  6. 上网本丢失F盘怎么恢复
  7. 转:英语 表示字母、数字的复数
  8. 一次3281AB慧荣主控U盘修复
  9. 无法运行宏,可能是因为该宏在此工作簿中不可用,或者所有的宏都被禁用的解决方法...
  10. 在毫秒量级上做到“更快”!DataTester 助力飞书提升页面秒开率