Intent有两个作用:激活组件和附带数据

激活另一个activity的方法
显示意图:
  1.  Intent intent = new Intent();
       intent.setClass(this, OtherActivity.class);//设置要激活的组件
       startActivity(intent);

2. Intent intent = new Intent();
      intent.setClassName(this, "com.example.activity.OtherActivity");//通过反射机制直接得到,包+activity.
       startActivity(intent);
 
   3. Intent intent = new Intent();
       intent.setComponent(new ComponentName(this, OtherActivity.class));  //设置组件
       startActivity(intent);

4.Intent intent = new Intent(this,OtherActivity.class);

       startActivity(intent);

     5.   /**
    * 跨应用激活activity,其他应用的包,包加应用的全称,需要其他应用给出权限
* intent.setClassName("com.example.activity", "com.example.activity.OtherActivity");
 */

如果不是action.Main,则需要主动申明Android:exported="true",允许外部访问

附带数据
   在mainActivity中 
 1.      Intent intent = new Intent();
       intent.setClass(this, OtherActivity.class);

       intent.putExtra("name", "姓名");
       intent.putExtra("age",5);      

startActivity(intent);
    在otherActivity中 提取数据
       Intent intent = getIntent();

       String name = intent.getStringExtra("name");
       int age = intent.getIntExtra("age", 0);//0是缺省值

2.bundle对象存放数据
      Intent intent = new Intent();
      intent.setClass(this, OtherActivity.class);

// 批量添加
Bundle budle = new Bundle();
budle.putString("name", "姓名");
budle.putInt("age", 5);
intent.putExtras(budle);
        startActivity(intent);

otherActivity不用改,也可以采用另一种做法
          Bundle bundle = intent.getExtras();

String name=bundle.getString("name");
int age =bundle.getInt("age");

需要otherActivity返回结果给Mainactivity
     这种需求需要我们改变打开的方式

把startActivity(intent)改成
         startActivityForResult(intent, 200);//200是请求码,用于区分哪部分调用
   再重写onActivityResult方法 

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

String result = data.getStringExtra("result");
Toast.makeText(getApplicationContext(),result, 1).show();
}
 

我们可以在关闭otherActivity时返回结果,也可以定义一个按钮关闭otherActivity返回参数
           public void closeActiviity(){

Intent data = new Intent();
data.putExtra("result", "xxxdja");
setResult(30, data);//设置返回数据,30是返回码
this.finish();//关闭当前activity
}

activity间的传参的更多相关文章

  1. angular 实例笔记之嵌套指令间的传参

    最近在项目中遇到了需要嵌套指令的情况,指令在嵌套后子指令必须获得父指令中的数据来进行判断,但是在写传参的时候遇到了坑,因此记录下来,防止以后遗忘,个人的肤浅理解,欢迎大家留言讨论 首先,关于direc ...

  2. angularjs不同页面间controller传参方式,使用service封装sessionStorage

    这里分享一个我在实际项目中,使用service封装的一个依赖sessionStorage的传参服务. 这里先说下大背景,在我们的实际开发中,登陆之后一般会存在一个token,这个token将会贯穿全场 ...

  3. vue中组件间的传参

    1.父传子 父组件准备一个数据,通过自定义属性给子组件赋值,进行传递 在子组件中通过 props 属性来接收参数 <body> <div id="app"> ...

  4. react中的传参方式

    react是一个SPA模式,即组件嵌套租,在一个单页面的应用中组件间的数值传递是必不可少的,主要的传参方式大致有一下几种: 1,在挂载的地方给组件传参 ReactDOM.rander(<a na ...

  5. Android 发送多个不同的快捷方式(shortcut)到桌面并向其启动的Activity传参

    需求: 对于创建快捷方式到桌面,网上能查到不少资料,但一般都是针对应用程序本身的. 前阵子在做项目时,遇到了一个类似于百度贴吧里面的一个需求:对于每个具体的贴吧,都可以将其发送到桌面(HomeScre ...

  6. webpack+vue 组件间传参(单一事件中心管理组件通信--$root),如果有路由的话会失效

    先给一个例子: <body> <div id="box"> <com-a></com-a> <com-b></co ...

  7. Cookie的格式及组成、页面间传参实例

    做项目需要页面间参数传递,搜索了一下网上的回复,发现可以用cookie解决,借此学习cookie的格式及组成: Cookie由变量名和值组成,类似Javascript变量.其属性里既有标准的Cooki ...

  8. python oop培训文档里面的 正宗oop、多个函数间反复return传参、多个文件无限复制粘贴扣字、无效废物滑稽类4种方式的例子。(2)

    把文档里面说的几种范式发出来. 4种编程范式实现一个人吃喝拉撒长身体的代码.语法很简单,思想模拟了所有程序员写代码时候的代码规划设计想法. 0.我不反对复制粘贴的写法,可以百度搜索复制粘贴网上现有的, ...

  9. vue非父子组件间传参问题

    最近在使用vue进行开发,遇到了组件之间传参的问题,此处主要是针对非父子组件之间的传参问题进行总结,方法如下:一.如果两个组件用友共同的父组件,即 FatherComponent.vue代码 < ...

随机推荐

  1. poj2728 Desert King——01分数规划

    题目:http://poj.org/problem?id=2728 第一道01分数规划题!(其实也蛮简单的) 这题也可以用迭代做(但是不会),这里用了二分: 由于比较裸,不作过多说明了. 代码如下: ...

  2. MSTAR GUI

    1.架构 WIN32 SDK ACT->CTL->API->GE/GOP ACT: Customized logic parts CTL: Behavior widgets API: ...

  3. 【旧文章搬运】PsVoid中IrpCreateFile函数在Win7下蓝屏BUG分析及解决

    原文发表于百度空间,2010-04-05========================================================================== 这也许是我 ...

  4. A - Toy Cars

    Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Description Little ...

  5. 【网络爬虫】【java】微博爬虫(四):数据处理——jsoup工具解析html、dom4j读写xml

    之前提到过,对于简单的网页结构解析,可以直接通过观察法.手工写正则解析,可以做出来,比如网易微博.但是对于结构稍微复杂点的,比如新浪微博,如果还用正则,用眼睛一个个去找,未免太麻烦了. 本文介绍两个工 ...

  6. Flutter实战视频-移动电商-40.路由_Fluro的全局注入和使用方法

    40.路由_Fluro的全局注入和使用方法 路由注册到顶层,使每个页面都可以使用,注册到顶层就需要在main.dart中 main.dart注册路由 注入 onGenerateRoute是Materi ...

  7. jquery冲突的关键字nodeName、nodeValue和nodeType!

    原文:http://blog.csdn.net/hdfyq/article/details/52805836 [缘由]在工作流数据库设计的时候,  都节点管理的功能.  结果有2个字段为  NODE_ ...

  8. 聊聊IT行业加班的问题

    IT行业(包括互联网行业)是快速发展的行业,有时候一家公司同时可能要开发多个项目,并发进行,在公司开发人员相对固定的情况下,要想在指定的时间内完成项目谈何容易. 项目多.任务重.需求的不明确.技术难关 ...

  9. Unity5自动命名Assetbundle并打包

    http://www.shihuanjue.com/?p=57 using UnityEngine; using System.Collections; using UnityEditor; usin ...

  10. Unity3d与3dmax模型比例问题

    1 把3dmax中1米的物体,在unity中为1厘米,所以unity中需要放大100倍才能跟3dmax中效果相同 2 unity中调整模型->inspector-scale factor可以调整 ...