首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如果我不知道activity2何时结束,如何将数据从activity2返回到activity1?

在Android开发中,如果不知道Activity2何时结束,可以使用以下方法将数据从Activity2返回到Activity1:

  1. 使用startActivityForResult()方法启动Activity2:在Activity1中调用startActivityForResult(intent, requestCode)方法启动Activity2,其中requestCode是一个整数值,用于标识此次启动的请求。
  2. 在Activity2中设置返回结果:在Activity2中,当需要返回数据给Activity1时,可以通过以下代码设置返回结果:
  3. 在Activity2中设置返回结果:在Activity2中,当需要返回数据给Activity1时,可以通过以下代码设置返回结果:
  4. 在Activity1中处理返回结果:在Activity1中重写onActivityResult()方法,该方法会在Activity2返回结果时被调用,可以通过以下代码获取返回的数据:
  5. 在Activity1中处理返回结果:在Activity1中重写onActivityResult()方法,该方法会在Activity2返回结果时被调用,可以通过以下代码获取返回的数据:

通过以上步骤,即可实现在不知道Activity2何时结束的情况下将数据从Activity2返回到Activity1。在处理返回结果时,可以根据实际需求进行相应的数据处理操作。

腾讯云相关产品推荐:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android动画实现详解

开始到结束匀速运动 overshoot_interpolator:向前超过设定值一点然后返回 下面简单实现一个动画,动画效果如下面截图,是一个透明度,平移,缩放的动画同时执行的动画。...如 上面的监听分别是动画开始结束和更新时候的回调。我们在回调中做一些额外的操作。...对于Activity 可能你不太理解为什么是设置了四种,假如有Activity1Activity2。...当我们在Activity1中跳转到Activity2时,Activity1在页面上消失是执行的:activityOpenExitAnimation动画,Activity2出现在屏幕上执行的动画是activityOpenEnterAnimation...当Activity2 finish返回Activity1时,Activity2执行的动画是activityCloseExitAnimation,Activity1显示在屏幕执行的是activityCloseEnterAnimation

51340

Activity堆栈管理

如果一个.apk文件用户角度来看包含了多个“应用程序”,你可能需要对那些 activity赋不同的affinity值。...activity对象 standard 如果不包含FLAG_ACTIVITY_NEW_TASK标记,则activity2放入 task1,否则按前面讲述的规则为activity2选择task 可被多次实例化...如果activity1的运行在该模式下,则activity2一定与activity1位于不同的task 对于新到的intent,如果是由新创建的activity对象来接收,则用户可以通过返回键回到之前的...activity;如果是由已存在的 activity来接收,则用户无法通过返回键返回到接收intent之前的状态。...如果这个标记会新建一个task,当用户按下HOME键时,必须有一种方式能够让用户返回到那个activity。

1.2K100
  • Android点将台:颜值担当

    个人所有文章整理在此篇,将陆续更新收录:知无涯,行者之路莫言终(的编程之路) 零、前言 1.本文的知识点 [1].Acticity生命周期测试与分析 [2].Activity间的[数据传递]...selectedImage, filePathColumn, null, null, null ) cursor.moveToFirst() // 数据视图中获取已选择图片的路径...TASK_ID: Activity2 Task id is 89 依次返回 E/TASK_ID: Activity2 销毁 E/TASK_ID: Activity1 销毁 E/TASK_ID: Activity2...Activity1 销毁 3:singleTask模式:对象唯一栈 整个栈中没有相同的实例,两次相同实例之间的Activity会被杀死(够霸道,喜欢) 测试:Activity1为standard..., Activity2 为singleTask 依次打开Activity1、2、2、1、2 E/TASK_ID: Activity1 Task id is 94 E/TASK_ID: Activity2

    12510

    onStop提前投放问题

    前言 最近遇到一个奇葩的问题,应用X的Activity1中点击一个Button跳转到Activity2,手机A比手机B上快500ms左右,虽然手机A比手机B的配置高,但是不信差距会那么大。...四、写个Demo 赶紧写个程序验证一下的猜想,程序也很简单,我们MainActivity跳转到Main2Activity,在Main2Activity的onResume中休眠500ms,在MainActivity...5.2 应用X 1085 2273 V KobeWang: Activity idle: null NS:1 应用X的代码竟然能让Activity1跳转Activity2,NS为1,这样子Activity1...错误1:Activity1跳转Activity2代码特殊,造成NS为1,导致了onStop的提前,不是由正常的ActivityIdle的触发。...思考 有时间还是要继续研究以下,如何让Activity1启动到Activity2的时候,NS为1,看了一下应用X的Activity1Activity2在不同的Task,也改了一下的Demo,变成两个

    79820

    Intent常用flag之FLAG_ACTIVITY_CLEAR_TOP

    大家好,又见面了,是你们的朋友全栈君。...先说Activity 的四种启动模式: 1:standard:默认模式,不需要配置LaunchMode,默认在从Activity1跳转到Activity2,然后Activity2跳转到Activity3...,此时不管桟中有没有Activity2、3,程序都会新创建一个新的Activity,最后依次返回,会按照倒叙的顺序依次退出,类似退桟的过程。...3:singleTask: 和前边俩个不同,singleTask在一个桟中只创建一个Activity的实例,如果没有在创建。...A,如果不加Flag,顺序会是D—C—B—A,这样可能满足不了需求,如果在跳转的时候,给Intent加上FLAG_ACTIVITY_CLEAR_TOP,这个标签,就可以直接D–A,开发中可以用来解决退出的问题

    77210

    Android高频面试专题 - 基础篇(一)Activity

    比如说:mainactivity跳转到activity-A(或者继续activity-A再跳转到activity-B),这时候,后台强杀,只会执行mainactivity的onDestroy方法,...因此,如果调用了两次setContentView方法,只有最后一次才是有效的。 18.Activity用Intent传递数据和Bundle传递数据的区别?...进行排序,所以在添加、删除、查找数据的时候,都会使用二分法查找,只适合于小数据量操作,如果数据量比较大的情况下,那么它的性能将退化。...因为使用Bundle的场景大多数为小数据量,没见过在两个Activity之间传递10个以上数据的场景,所以相比之下,在这种情况下使用ArrayMap保存数据,在操作速度和内存占用上都具有优势,因此使用...使用Intent传递数据是否有限制 & 如果传递一个复杂的对象,例如一个复杂的控件对象应该怎么做?

    1.9K31

    EventBus原理解析笔记以及案例实战(结合demo)

    按下Activity1中的Button, 会跳转到Activity2; 按下Activity2中的button, 会通过EventBus去通知Activity1Activity1会通过OnEvent...接收, 如果接收到Activity2发送过来消息, 然后触发Toast; 接下来新建一个项目,根据官方GitHub添加依赖, implementation 'org.greenrobot:eventbus...(), 如果接收到Activity2发送过来消息,触发Toast; /** * 注册onEvent(), * 注意写上注解!...; } }); } } 运行效果图: Activity1: ? 跳到Activity2,点击按钮,弹出Toast: ?...补充 以上这种场景, 如果不用EventBus, 我们可能需要用到Handler + Runnable的方式, 但是如果有十个Activity向Activity1发消息, 我们就需要写十个Handler

    2.2K10

    Android动画实现原理和代码

    在上面的语法中我们需要注意的是平移的时候其实位置接受百分比数值:-100到100的值,以“%”结尾,表示百分比相对于自身;-100到100的值,以“%p”结尾,表示百分比相对于父容器。...开始到结束匀速运动overshoot_interpolator:向前超过设定值一点然后返回 下面简单实现一个动画,动画效果如下面截图,是一个透明度,平移,缩放的动画同时执行的动画。 ? <?...和Activity2。...当我们在Activity1中跳转到Activity2时,Activity1在页面上消失是执行的:activityOpenExitAnimation动画,Activity2出现在屏幕上执行的动画是activityOpenEnterAnimation...当Activity2 finish返回Activity1时,Activity2执行的动画是activityCloseExitAnimation,Activity1显示在屏幕执行的是activityCloseEnterAnimation

    1.2K00

    Android小技巧: 这里涵盖了所有实现 “一键退出 App” 的方法

    一键结束当前App所有的Activity 2. 一键结束当前App进程 即 需要2个步骤 才可 完成 一键退出 App 需求。下面,将根据这两个步骤进行功能实现讲解。 ---- 2....Intent.FLAG_ACTIVITY_SINGLE_TOP:若启动的Activity位于任务栈栈顶,那么此Activity的实例就不会重建,而是重用栈顶的实例( 调用onNewIntent()) 具体使用(MainActivity...(即Activity1 - Activity2 -Activity3(在Activity3调用上述两个方法)) 答: 1....结束Activity3(当前 Activity )& 结束进程 2. 再次重新开启进程 & 启动 Activity1Activity2 ?...下面将继续对 Android中的知识进行深入讲解 ,有兴趣可以继续关注Carson_Ho的安卓开发笔记 ---- 请帮顶 / 评论点赞!因为你的鼓励是写作的最大动力!

    1.9K42

    Carson带你学Android:这里涵盖了所有实现 “一键退出 App” 的方法

    下面,将根据这两个步骤进行功能实现讲解。 2....Intent.FLAG_ACTIVITY_SINGLE_TOP:若启动的Activity位于任务栈栈顶,那么此Activity的实例就不会重建,而是重用栈顶的实例( 调用onNewIntent()) 具体使用(MainActivity...(入口Activity) 跳转到 Activity2 & 一键退出) 步骤1:在MainActivity 中设置 重写 onNewIntent() MainActivity.java...(即Activity1 - Activity2 -Activity3(在Activity3调用上述两个方法)) 答: 结束Activity3(当前 Activity )& 结束进程 再次重新开启进程 &...启动 Activity1Activity2 即在Android 中,调用上述Dalvik VM本地方法结果是: 结束当前 Activity & 结束进程 之后再重新开启进程 & 启动 之前除当前

    75420

    大话企业级android读书笔记(二)

    ,系统可以将它从内存移除,通过要求它结束(通过调用它的finish()方法),或简单地杀掉它的进程。...有三个嵌套的循环,你可以通过这七个方法监视: 活动的整个生命时间,第一次调用onCreate()开始直到调用onDestroy()结束。...举例来说,有一个线程运行在后台网络上下载数据,它可能会在onCreate()中创建线程,在onDestroy()中结束线程。...因此活动是可杀掉状态,例如onPause()返回到onResume()调用期间。直到onPause()再次返回,活动是不可杀掉的。...用于多个Activity之间互相传递数据。 android的隐形管理员:Service Service字面上理解即为“服务”,这里与windows中的服务有点类似。

    1K50

    Activity之间的数据传递方法汇总

    煮个栗子: 假设有 Activity1Activity2 两个 Activity;如果要在 Activity1 中启动 Activity2,并传过去几个基本类型的数据,就可以这么写: Intent...但是,全局变量在 APP 运行期间一直存在,如果通过全局变量存放的数据量比较大,变量个数多;并且在不需要使用后,没有及时的将全局变量置为 null,好让 GC 去回收,那么是有可能会引发 OOM 问题的...因此,如果要使用全局变量来作为数据传递方法,那么就一定要注意维护好这些全局变量的状态。...它所支持的类型只有: boolean float int long String Set 仍旧拿前面的两个 Activity 煮栗子,要实现它们之间的数据传递,只需要现在 Activity1...因此上面 set 的时候,如果权限不够就会报如下错误: Unable to set property "NAME" to "Shawn.XiaFei": connection failed; errno

    3.2K40

    Activity 过渡动画 — 让切换更加炫酷

    比如: activity1activity2 中有两个一模一样的内容, activity1 跳转到 activity2 时我们才运用共享元素的动画效果,达到更加的 ui 体验。...explode 屏幕中间进或者出,然后将视图移动至最后位置,达到动画的效果。 二、slide(滑动) 效果图: ? slide 是屏幕边缘进出,同理通过移动视图形成动画。...最后 如果你觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。 希望读到这的您能转发分享和关注一下,以后还会更新技术干货,谢谢您的支持!...毕业3年,是如何年薪10W的拖拽工程师成为30W资深Android开发者! 腾讯T3大牛带你了解 2019 Android开发趋势及必备技术点!...八年Android开发,码农到架构师分享的技术成长之路,共勉! 最后祝大家生活愉快

    3.3K41

    Android插件化原理解析

    上图列出的是启动一个Activity的主要过程,具体步骤如下: Activity1调用startActivity,实际会调用 Instrumentation类的 execStartActivity方法,...ApplicationThread将启动Activity2的信息通过H对象发送给主线程。...主线程拿到Activity2的信息后,调用Instrumentation类的 newAcitivity方法,其内部通过ClassLoader创建Activity2实例。...FIELD_DEX_ELEMENTS, array); } } 处理插件Activity的启动 在Android中,Activity的启动需要在 AndroidManifest.xml中配置,如果没有配置的话...但是宿主apk不知道到插件apk的存在,所以宿主Resources也无法加载插件apk的资源。因此需要为插件apk构建一个 Resources,然后插件apk中都通过这个Resource区获取资源。

    88930

    Activity

    如果需要传递数据,可以在intent中放入数据 Intent intent = new Intent(Intent.ACTION_SEND); intent.putExtra("origin", "...,如果intentFilter中没有可以不添加,会使用默认的category in.addCategory("com.skymxc.catagory.c2"); //对数据进行描述 C中定义了协议为 file...,当Activity被销毁后其中的数据当然就没了,如果需要保留这些数据可调用 方法 onSaveInstanceState()方法 @Override public void onSaveInstanceState...跳往到activity2 ,activity就会把activity1覆盖,这时就调用了此方法 onRestart(); 重新启动 onDestroy():activity再结束前调用的最后一个方法;这里可以进行一些释放资源的操作...三种阶段 完整生命周期: 调用的第一个方法 onCreate() 到最后调用一个的方法onDestroy() ,在onCreate()方法中可以进行一些全局的配置,UI的引用,数据的初始化,也可以

    94660

    Android6.0源码分析之蓝牙显示接收到的文件

    ,就会去重用该实例,并且会清除掉该实例上方的所有activity,简单举个例子,如果在栈1中存在有三个实例,Acivity1,Activity2,Activity3。...可以看到处于栈顶的是Activity3,也就是目前显示的是窗口3,如果窗口3跳转到窗口2,则会销毁Activity3,并且重用Activity2,也就是说目前栈中Activity存在情况如下Activity1...,Activity2。...=""> 如果设置了该属性值,就会去查找taskAffinity对应的栈,如果栈不存在,则会新建该栈 并将activity存入,如果栈存在,则直接入栈 如果没有设置该属性或者该属性值默认为空,则直接压入当前栈...oncreate方法中可以直接并且只调用createTable方法,但是在更新数据库时需要先将数据库删除然后再调用createTable创建,删除数据库方法如下 private void dropTable

    1.5K60

    Intent传递数据全解

    也可以将Parcel看成是一个流,通过writeToParcel把对象写到流里面, 在通过createFromParcel流里读取对象,只不过这个过程需要你来实现,因此写的 顺序和读的顺序必须一致。...详见本人另外一篇博客用户界面开发基础-使用全局对象传递变量 如果你想某个数据可以在任何地方都能获取到,你就可以考虑使用 Application全局对象了!...注意事项 Application对象是存在于内存中的,也就有它可能会被系统杀死,比如这样的场景: 我们在Activity1中往application中存储了用户账号,然后在Activity2中获取到用户账号...这个时候,我们重新 打开这个app,这个时候很神奇的,回到Activity2的页面,但是如果这个时候你再去获取Application 里的用户账号,程序就会报NullPointerException,...所以如果是比较重要的数据的话,建议你还是进行本地化,另外在使用数据的时候 要对变量的值进行非空检查!

    88640
    领券