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. inline关键字的用法详解

    1. 引入inline关键字的原因 在c/c++中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了inline修饰符,表示为内联函数. 栈空间就是指放置程序的局部数据(也就是 ...

  2. HDU2087(KMP入门题)

    剪花布条 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  3. Hadoop Shell 介绍

    以 hadoop 2.7.3 为例 bin 目录下是最基础的集群管理脚本, 用户可通过该脚本完成各种功能, 如 HDFS 管理, MapReduce 作业管理等. 作为入门, 先介绍bin 目录下的 ...

  4. 1.17 shell action

    一.shell action 1. ##job.properties nameNode=hdfs://hadoop-senior.ibeifeng.com:8020 jobTracker=hadoop ...

  5. 20个Flutter实例视频教程-第13节: 展开闭合案例

    20个Flutter实例视频教程-第13节: 展开闭合案例 视频地址: https://www.bilibili.com/video/av39709290/?p=13 博客地址: https://js ...

  6. html css鼠标样式,鼠标形状

    css鼠标手型cursor中hand与pointer Example:CSS鼠标手型效果 <a href="#" style="cursor:hand"& ...

  7. 使用you-get下载网页小视频(实际上你可以下载任意你想要的web网页中的内容)

    1. 什么是you-get? You-Get是一个小型的命令行实用程序,用于从Web下载媒体内容(视频,音频,图像),如果没有其他方便的方法可以尝试使用you-get. 2.安装you-get 打开命 ...

  8. 51nod1459【二级最短路】

    标签说的是BFS... 太菜,不知道怎么BFS...是不是spfa写,就叫BFS...感觉不是.... 只是二级最短路的写法,直接搞就很容易了,简单题: #include <bits/stdc+ ...

  9. PJzhang:百度网盘是如何泄露公司机密的?

    猫宁!!! 参考链接:https://mp.weixin.qq.com/s/PLELMu8cVleOLlwRAAYPVg 百度网盘在中国一家独大,百度超级会员具有很多特权,尤其是在下载速度上,是普通会 ...

  10. Luogu P4892 GodFly的寻宝之旅【状压dp】By cellur925

    题目传送门 又是一道状压+计数类好题hh(真香).数据范围非常友好,告诉我们\(n<=18\),非常符合状压的性质. 其实感觉和\(Hamilton\)路径那题还是有些相似的,我们可以类似地设计 ...