Intent的用法


意图的分类和用法:

隐式意图:通过指定一组数据或者动作实现

Intent intent=new Intent();
intent.setAction("");
intent.addCatogary("");
intent.setDataAndType("","");         //或者intent.setData,具体根据清单文件配置
startActivity(intent);

显示意图:通过指定具体的activity实现

Intent intent=new Intent(this,TestActivity.class);
startActivity(intent);

意图的用途:

显示意图用于开启自己应用内的Activity.
 
隐式意图用于开启其他应用的Activity(主要是系统应用),相比显示意图安全性较差.

意图的实现:

通过Intent由MainActivity.class跳转至TestActivity.class:
 
MainActivity.class要实现代码:
 
Intent intent=new Intent(this,TestActivity.class); String name="eason"; Intent intent=new Intent(this,TestActivity.class); intent.putExtra("name",name); //Activity间数据传递的方法 startActivity(intent);
 
TestActivity.class要实现代码:

Intent intent=getIntent();
String name=intent.getStringExtra("name");      //传递的是什么数据类型,就按照传递的数据类型取

在以上的例子中,数据由MainActivity传到了TestActivity.class,那么如果想要把TestActivity.class数据返回给MainActivity要怎么做呢?
 
假如在TestActivity.class页面中点击按钮把选中号码返回,
 
那么TestActivity.class要实现代码:

public void onclick(View view){
Intent intent=new Intent();
String phone="123";
intent.putExtra("phone",phone);
setResult(10,intent);       //调用父类的方法setRequest(int Resustcode,Intent),设置请求码
finish();                   //该方法将结束当前Activity,返回唤醒该Activity的Activity
}

MainActivity.class要实现的代码:

  1. 采用startActivityForRequest()方法而不是startActivity()

    Intent intent=new Intent(this,TestActivity.class);//设置请求码,startActivityForResult(Intent intent,int requestcode)
    startActivityForResult(intent,1);
    
  2. 重写方法onActivityResult()

    //该方法在我们开启的Activity关闭时调用
    protected void onActivityResult(int requestCode,int resultCode,Intent data){
    if(resultCode==10){                          //通过请求码或者结果码,可以辨别返回数据的来源
    String phone=data.getStringExtra("phone");
    }
    }

安卓基础之Intent的用法相关推荐

  1. 安卓手机来电防火墙_安卓基础知识自动化测试

    安卓基础知识 本章重点探讨AndroidUI自动化测试过程中所涉及到的原理和技术.掌握这些知识是为学习Appium自动化测试框架打下基础. 学习目标 了解API和安卓版本的关系 了解安卓组件,安卓程序 ...

  2. 安卓基础知识(一) 服务(Service)

    安卓基础知识(一) 服务(Service) 一.基本概念: 1.服务就是长期于后台运行的程序,可以理解为是一个,用于执行长期任务,并且与用户没有交互的组件.每一个服务需要在配置文件AndroidMan ...

  3. Android允许后台活动管理,安卓基础知识(活动)

    一.四大组件 Android系统四大组件分别是活动(Activity).服务(Service).广播接收器(Broadcast Receiver)和内容提供器(Content Provider).其中 ...

  4. 安卓基础知识之View篇(四):View 事件滑动冲突解决方案

    安卓基础知识系列旨在简明扼要地提供面试或工作中常用的基础知识,让对安卓还不太熟悉的小伙伴更快地入门.同时自己在工作中,也没法完全记住所有的基础细节,写这样的系列文章,可以让自己形成一个更完备的知识体系 ...

  5. 安卓基础学习(从头开始,持续更新)

    标题Android Studio学习 1.活动的基本用法 1.新建一个活动,会有主函数和其相对布局. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f2IFw9Zb-1 ...

  6. python中使用函数的优点_Python基础之函数基本用法与进阶详解

    本文实例讲述了Python基础之函数基本用法与进阶.分享给大家供大家参考,具体如下: 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的作用 函数 ...

  7. Intent 的用法

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

  8. java socket 异步回调函数,分享nodejs异步编程基础之回调函数用法

    nodejs异步编程基础之回调函数用法分析 本文实例讲述了nodejs异步编程基础之回调函数用法.分享给大家供大家参考,具体如下: Node.js 异步编程的直接体现就是回调. 异步编程依托于回调来实 ...

  9. python基础函数及用法意思_Python基础之函数基本用法与进阶详解

    本文实例讲述了Python基础之函数基本用法与进阶.分享给大家供大家参考,具体如下: 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的作用 函数 ...

最新文章

  1. linux中vi写java,Linux编辑器vi使用方法详细介绍
  2. 673. 最长递增子序列的个数
  3. android layerlist bitmap,android shape类似的 另一个 高端用法:layer-list
  4. Pycharm如何导入python包
  5. linux从usb安装软件,Linux下USB Camera的安装和使用
  6. 开源论坛软件 NodeBB 中存在多个严重漏洞
  7. C#图解教程读书笔记(深入理解类)
  8. Haproxy均衡负载部署和配置文件详解
  9. Python3,10行代码,给pdf文件去水印,再也不用花费冤枉钱了。
  10. Android四大组件之广播
  11. 前端主流IDE快捷语法
  12. 网站服务器的宽带是1mb是什么意思,1mb/s网速是什么意思
  13. nevada用计算机弹,Nevada吉他谱(gtp谱,指弹,独奏,演奏视频)_Vicetone
  14. DNS服务器ttl修改不生效,中科三方DNS专家手把手教学——定位域名解析不生效问题...
  15. 每日思考第 76 期:真正的死亡是被人遗忘
  16. β-VAE:学习具有约束框架的基本视觉概念
  17. 优秀的项目周报应该如何写?【实例模板】
  18. SpringBoot 和 Vue 前后端分离教程(附源码)
  19. 「 C++ 11」std::thread “invalid use of non-static member function“问题处理
  20. ps与ai合作,制作金属效果

热门文章

  1. 富人高管都有门路避税,中基层的你怎么办?
  2. SWAN之ikev2协议forecast配置测试
  3. GitHub 上都有哪些值得关注学习的 iOS 开源项目?
  4. SOFA Registry的简单安装
  5. 20155323刘威良 《信息安全系统设计基础》课程总结
  6. 《计算机科学》期刊投稿心得
  7. DTE DCE的含义和判断方法
  8. IDEA注册码(附修改hosts文件的方法)
  9. 清北名校光环,消失在互联网
  10. DownloadManager之大坑