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

安卓OnActivityResult,on second call第二个活动在完成后没有返回到第一个活动

安卓的OnActivityResult是一个用于处理活动之间数据传递和结果返回的方法。当一个活动启动另一个活动并期望在后者完成后获取结果时,可以使用OnActivityResult方法。

在第一个活动中,通过调用startActivityForResult方法启动第二个活动,并传递一个请求码(requestCode)。第二个活动完成后,会调用setResult方法设置结果,并将结果数据返回给第一个活动。然后,第一个活动会调用OnActivityResult方法来处理返回的结果。

在第一个活动中,可以重写OnActivityResult方法来获取返回的结果。该方法包含三个参数:requestCode、resultCode和data。其中,requestCode是启动第二个活动时传递的请求码,resultCode表示第二个活动的结果状态,data则是返回的结果数据。

如果第二个活动在完成后没有返回到第一个活动,可能是由于以下几个原因:

  1. 忘记在第二个活动中调用setResult方法设置结果。在第二个活动中,需要调用setResult方法来设置结果,并将结果数据通过Intent返回给第一个活动。
  2. 在第二个活动中调用了finish方法。如果在第二个活动中调用了finish方法,那么该活动将会被销毁,而不会返回到第一个活动。
  3. 在第一个活动中未正确处理OnActivityResult方法。在第一个活动中,需要重写OnActivityResult方法来获取返回的结果。如果未正确处理该方法,就无法获取到第二个活动返回的结果。

为了解决这个问题,可以按照以下步骤进行操作:

  1. 确保在第二个活动中正确调用setResult方法,并将结果数据通过Intent返回给第一个活动。
  2. 在第一个活动中重写OnActivityResult方法,并确保正确处理返回的结果。可以根据requestCode和resultCode来判断返回的结果是否符合预期,并从data中获取结果数据进行处理。

如果需要在腾讯云上进行相关开发,可以使用腾讯云的移动应用开发服务。腾讯云提供了一系列与移动开发相关的产品和服务,包括移动应用开发平台、移动推送服务、移动分析服务等。具体可以参考腾讯云移动应用开发服务的介绍页面:腾讯云移动应用开发服务

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

相关·内容

Android使用Intent隐式实现页面跳转

通过查阅文档你会发现Activity中还有一个startActivityForResult()方法也是用于启动活动的,但是这个方法期望活动销毁的时候能返回一个结果给上一个活动,毫无疑问这就是我们所要达到的效果.... startActivityForResult()方法接收2个参数,第一个参数还是Intent,第二个参数是请求码,用于回调中判断数据源的来源,我们可以之前的代码中修改下如图 package com.example.testintent...接下来在看setResult()这个方法接收2个参数,第一个参数用于向上一个活动处理结果,一般只是用RESULT_OK或者RESULT_CANCELED两个值,第二个参数则把带有数据的Intent传递回去...()方法带有三个参数,第一个参数requestCode即在我们启动活动的时候传入的请求码,第二个参数resultCode是我们返回数据时传入的处理结果,第三个参数data是我们返回数据的Intent 然后我们点击运行如图...点击第二个按钮 ? 点击一下 ? 我们想要的结果就实现了。 以上就是本文的全部内容,希望对大家的学习有所帮助。

97721

AndroidStdio1_5

startActivityForResult()方法接收两个参数,第一个参数还是Intent,第二个参数是请求码,用于之后的回调中判断数据的来源。...setResult()方法接收两个参数,第一个参数用于向上一个活动返回处理结果,一般只使用RESULT_OK或RESULT_CANCELED这两个值,第二个参数则把带有数据的Intent传递回去,然后调用了...onActivityResult()方法带有三个参数: 第一个参数requestCode,即我们启动活动时传入的请求码。 第二个参数resultCode,即我们返回数据时传入的处理结果。...重新运行程序,FirstActivity的界面点击按钮会打开SecondActivity,然后SecondActivity界面点击Button 2按钮会回到FirstActivity ?...这时候你可能会问,如果用户SecondActivity中并不是通过点击按钮,而是通过按下Back键回到FirstActivity,这样数据不就没法返回了吗?

61130

android学习笔记----隐式意图和显式意图

隐式意图和显式意图: 显式意图:显式意图明确指明了启动活动的上下文和想要启动的目标活动,显式意图明确指定了Intent应该传递给哪个组件。 隐式意图:没有明确指定组件名的Intent为隐式意图。...activity回传数据给第一个activity 实验要求:编程实现具有“登录”按钮的主界面,点击“登录”按钮后打开另一个新的Activity,新打开的Activity中输入的用户名、密码等个人信息,...requestCode int:如果>=0,则当活动退出时,此代码将在onActivityResult()中返回。...如果活动显式返回,则不会返回任何结果,或者操作期间崩溃,resultCode将为RESULT_CANCELED。 当您的活动重新启动时,您将在onResume()之前立即收到此调用。...由于一个活动中有可能调用startActivityForResult()方法去启动很多不同的活动,每一个活动返回的数据都会回调到onActivityResult()这个方法中,因此我们首先要做的就是通过

1.2K10

《Android》Lesson06-Intent2

的用法) - 落日小屋 - 博客频道 - CSDN.NET 一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity上去),当子模块的事情做完之后就回到主界面,...requestCode 和 resultCode都是返回提出请求的MainActivity结果处理函数onActivityResult()使用的标识,其中requestCode 是我们启动活动时传入的请求码....class); startActivityForResult(Intent intent, int requestCode); 第一个参数:一个Intent对象 第二个参数:如果> = 0,...setResult(int resultCode, Intent data) 调用这个方法把Activity想要返回的数据返回到父Activity 第一个参数:当Activity结束时resultCode...onActivityResult(int requestCode, int resultCode, Intent data) 第一个参数:这个整数requestCode提供给onActivityResult

67760

Android-使用Intent传递数据

向下一个活动传递数据 Intent不仅可以用来启动活动,还可以启动活动的时候传递数据。...返回数据给上一个活动 Activity中还有一个StartActivityForResult()方法也是用于启动活动的, 但这个方法期望活动被销毁的时候能够返回一个结果给上一个活动。...StartActivityForResult()接收两个参数, 第一个参数还是Intent, 第二个参数是请求码,用于回调中判断数据的来源。...()方法带有三个参数, 第一个参数requestCode,即我们启动活动的时候传入的请求码, 第二个参数resultCode,即我们返回数据时传入的处理结果, 第三个参数data,即携带着返回数据的Intent...由于一个活动中有可能调用startActivityForResult()方法启动很多不同的活动, 每一个活动返回的数据都会回调onActivityResult()方法,因此需要先判断requestCode

1.2K30

速读原著-Android应用开发入门教程(屏幕间的跳转和事件的传递)

Forwarding 和 ForwardTarget,由于第二个活动没有 intent-filter,因此程序中只能由第一个活动来启动。...> cls) 第一个参数是当前的上下文类型 Context,因此把当前的活动设置过去即可(Activity 本身继承了 Context),第二个是 Intent 所包含的 JAVA 类,直接设置 ForwardTarget.class...本例中使用了 finish()函数表示当前的活动结束,这样第二个活动(ForwardTarget)启动时,第一个活动(Forward)已经不存在了。...如果没有调用 finish()函数,第二个活动启动时,第一个活动就处于 OnPause 状态,当第二个活动退出后,第一个活动重新出现,也就是会调用活动的 onResume()函数。...初始化界面如图所示,点击“Get Result”按钮将跳转到第二个屏幕,如中图所示;第二个屏幕中点击“Corky”和“Violet”按钮将返回第一个屏幕,并获得对应显示,如右图所示。

83410

Android基础总结(2)——活动Activity

Intent的get方法取出对应名字的数据,一般get方法有两个参数,第一个是字符串,是我们查找对应参数的标准,第二个参数是如果没有对应的值则取得默认值。...如果要返回数据给上一个活动,则用startActivityForResult()方法来启动费另一个活动,该方法接收两个参数,第一个是Intent,第二个是请求码,用于之后的回调中判断数据的来源,该请求码只要是一个唯一值就可以了...onActivityResult()方法,因此我们还需要在第一个活动中重写onActivityResult()方法,该方法中我们对返回的数据和结果进行处理。...每当我们开启一个新的活动,它会在返回栈中入栈,并处于栈顶的位置;而每当我们按下Back键或调用finish()方法去销毁一个活动时,处于栈顶的活动会出栈,这时前一个入栈的活动就会重新回到栈顶的位置。...每次启动活动时系统首先会在返回栈中检查是否存在该活动的实例,如果发现已经存在则直接使用,并把在这个活动之上的所有活动统统出栈,如果没有发现就会创建一个新的活动实例。

1.2K90

速读原著-Android应用开发入门教程(屏幕间的跳转和事件的传递)

Forwarding 和 ForwardTarget,由于第二个活动没有 intent-filter,因此程序中只能由第一个活动来启动。...> cls) 第一个参数是当前的上下文类型 Context,因此把当前的活动设置过去即可(Activity 本身继承了 Context),第二个是 Intent 所包含的 JAVA 类,直接设置 ForwardTarget.class...本例中使用了 finish()函数表示当前的活动结束,这样第二个活动(ForwardTarget)启动时,第一个活动(Forward)已经不存在了。...如果没有调用 finish()函数,第二个活动启动时,第一个活动就处于 OnPause 状态,当第二个活动退出后,第一个活动重新出现,也就是会调用活动的 onResume()函数。...初始化界面如图所示,点击“Get Result”按钮将跳转到第二个屏幕,如中图所示;第二个屏幕中点击“Corky”和“Violet”按钮将返回第一个屏幕,并获得对应显示,如右图所示。

89520

Android Activity详解(一)

Override protected void onRestart() { super.onRestart(); Log.i("MainActivity--->","onRestart"); } } 第二个页面代码相差无几...逻辑层面的可见状态) I/SecondActivity--->: onResume(SecondActivity页面运行中) I/MainActivity--->: onStop(上一个页面进入停止状态) 3,返回到...为什么MainActivity跳转到另一个页面仅仅只进入了onStop()状态却没有被onDestroy(),在这我们需要说明一个的回退栈的问题。...——>onDestroy 最后一个特殊情况再测试点击手机HOME键: 绝大多数的教程内均写的是点击HOME键任务进入后台,活动onStop()被保存,但是我真机测试时并不是这样 I/MainActivity...--->: onPause I/MainActivity--->: onStop I/MainActivity--->: onDestroy 我的设备是魅族MX4,5.1的系统,个人猜想可能是版本不同所导致的

89810

UE4:Android 平台开发实践指南

image 安装完成后,查看一下 NDK 的版本,记得勾选右下脚的 “Show Package Detail”。 image 如果 NDK 没有安装为指定的版本,那请先勾选对的版本后,再下载安装。...image “项目设置” 中找到 “平台” 选项,然后配置 “Android”,将这俩个栏目都设置为同意,接受SDK证书,以及填上包名称。...回到我们的 C++ 代码中的按钮点击事件中,加入如下代码。..., FJavaWrapper::GameActivityThis,GetPackageNameMethodID); } #endif } 由于我们的 C++ 代码被修改过了,所以需要重新打包项目...C++ 调用 Java 代码已经成功实现了,但是在上文中,我们新建的一个第三方库的内容还没有讲完,那就继续来讲如何去调用第三方库中的函数方法。

1.7K30

HarmonyOS实战—页面跳转

第一个页面布局(xml编写) 2. 第二个页面布局(java编写) 3....页面跳转实现 实现步骤: ①:编写第一个页面(文本+按钮) xml编写 ②:编写第二个页面(文本) java 编写 ③:给按钮添加一个跳转 设计思路: 第一步:第一个界面中把HelloWorld...第二步:写第二个界面 第三步:书写跳转关系 鸿蒙UI中,提供了两种编写布局的方式: XML中声明UI布局 代码中创建布局 这两种方式创建出的布局没有本质差别,但是XML方式较为方便简单,以后开发中...相当于 中的 wrap_content <?...第二个页面布局(java编写) java 代码编写 创建 : ? ? ? ? ? 删除 layout 下的ability_second.xml 注释掉报错的这段: ?

87310

Kotlin入门(21)活动页面的跳转处理

所以Anko库提供了另一种符合习惯的写法,也就是利用Pair类把参数名和参数值进行配对,Pair的第一个参数为字段名,第二个参数为字段值。...收到请求消息:\n请求时间为${request_time}\n请求内容为${request_content}"     } } 下面通过测试界面观察一下消息数据发送之前和发送之后的效果,如下面左图所示,这时第一个页面准备跳转到第二个页面...;如下面右图所示,这是跳转后的第二个页面,界面上展示了第一个页面传递过来的参数信息。...,表示增加插件的编译支持: //@Parcelize标记需要设置experimental = true androidExtensions {     experimental = true } 编译文件修改完毕...;如下面右图所示,这是跳转后的第二个页面,界面上展示了第一个页面传递过来的序列化数据。

1.6K30

入门-第二章-探究活动

这个构造函数接收两个参数: 第一个参数Context 要求提供一个启动活动的上下文 第二个参数Class 则是指定想要启动的目标活动,通过这个构造函数就可以构建出Intent 的“意图”。  ...注意这里putExtra()方法接收两个参数: 第一个参数是键,用于后面从Intent中取值 第二个参数才是真正要传递的数据。  ...startActivityForResult()方法接收两个参数: 第一个参数还是Intent 第二个参数是请求码,用于之后的回调中判断数据的来源。...setResult()方法接收两个参数,第一个参数用于向上一个活动返回处理结果,一般只使用RESULT_OK 或RESULT_CANCELED 这两个值,第二个参数则把带有数据的Intent传递回去,然后调用了...()方法带有三个参数,第一个参数requestCode ,即我们启动活动时传入的请求码。

2.9K20
领券