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

有时,android中setResult()不会将正确的结果代码传递给另一个活动

在Android开发中,setResult()方法用于向调用当前活动的活动返回结果。通常情况下,我们可以通过调用setResult()方法并传递一个结果代码来设置返回结果。然而,有时候setResult()方法可能不会将正确的结果代码传递给另一个活动。这可能是由于以下几个原因导致的:

  1. 错误的结果代码:在调用setResult()方法时,我们需要确保传递的结果代码是正确的。Android提供了一些预定义的结果代码,如RESULT_OK、RESULT_CANCELED等,我们应该根据实际情况选择正确的结果代码。
  2. setResult()方法未被正确调用:在某些情况下,可能会忘记调用setResult()方法或者调用位置不正确,导致结果代码无法传递给另一个活动。我们需要确保在适当的位置调用setResult()方法,通常是在当前活动即将被销毁之前。
  3. onActivityResult()方法未正确处理结果:在另一个活动中,我们需要正确地实现onActivityResult()方法来接收返回的结果代码。如果未正确处理结果,那么无论setResult()方法传递的结果代码是什么,都无法正确获取到。

为了解决这个问题,我们可以按照以下步骤进行排查和修复:

  1. 确认setResult()方法的调用位置和传递的结果代码是否正确。
  2. 确认另一个活动中的onActivityResult()方法是否正确实现,并且能够正确处理返回的结果代码。
  3. 检查是否有其他代码或逻辑干扰了setResult()方法的正常执行,例如在异步操作中调用setResult()方法。

如果以上步骤都没有解决问题,可以考虑使用其他方式来传递结果,例如通过Intent传递数据或使用回调接口等。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云移动开发平台:https://cloud.tencent.com/product/mmp
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云数据库(TencentDB):https://cloud.tencent.com/product/cdb
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 腾讯云存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云元宇宙(Metaverse):https://cloud.tencent.com/product/metaverse

请注意,以上链接仅供参考,具体产品选择应根据实际需求和情况进行评估。

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

相关·内容

Android》Lesson06-Intent2

二、显示intent:利用intent从一个Activity到另一个Activity Android进阶2之Activity之间数据交流(onActivityResult用法) - 落日小屋...requestCode 和 resultCode都是返回提出请求MainActivity结果处理函数onActivityResult()使用标识,其中requestCode 是我们在启动活动时传入请求码...以便确定返回数据是从哪个Activity返回 代码写在旧窗体,在旧窗体里new 2个Intent(目的窗体是2个不同新窗体),requestCode用来区分是向哪个新窗体消息,当离开旧窗体切换到新窗体时消息显示在新窗体...代码写在新窗体,在新窗体里new 1个Intent(目的窗体是旧窗体),把返回信息存入Intent对象,setResult通过这个Intent对象把信息传给旧窗体。...setResult(RESULT_OK, intent)方法把信息(intent)传回旧窗体,旧窗体怎么知道是哪个新窗体信息哪?

69360

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

隐式意图和显式意图: 显式意图:显式意图明确指明了启动活动上下文和想要启动目标活动,显式意图明确指定了Intent应该传递给哪个组件。 隐式意图:没有明确指定组件名Intent为隐式意图。...activity回数据给第一个activity 实验要求:编程实现具有“登录”按钮主界面,点击“登录”按钮后打开另一个Activity,在新打开Activity输入用户名、密码等个人信息,...参数 intent Intent:开始意图。 requestCode int:如果>=0,则当活动退出时,此代码将在onActivityResult()返回。...参数 requestCode int:最初提供给startActivityForResult()整数请求代码,允许您识别此结果来源。...resultCode int:子活动通过其setResult()返回整数结果代码

1.4K10
  • 利用startActivityForResult返回数据到前一个Activity(附源码+解析)

    Android里面,从一个Activity跳转到另一个Activity、再返回,前一个Activity默认是能够保存数据和状态。...Activity B Activity A 重写onActivityResult函数,判断requestCode和resultCode是否是我们预期结果,如果是,那么从Bundle获取数据,重新显示在...,点击Button后,调用setResult传回结果,并关闭当前页面。...不过这里有3个地方需要注意: 1、startActivityForResult第二个参数requestCode是0,那么我们分别看下传递值小于0和大于0是什么结果一个小于0值,比如-1:...往期推荐 使用setContentView实现页面的转换效果 Android Studio Instant Run工作原理窥探 Android获取WiFi列表正确用法

    1.9K20

    Android startActivityForResult和setResult区别

    Android startActivityForResult和setResult区别 startActivityForResult与startActivity不同之处在于: 1、startActivity...,我在B是RESULT_OK case RESULT_OK: Bundle b=data.getExtras(); //data为BIntent String str=b.getString...("str1");//str即为回值 break; default: break; } } 3.在B数据时采用setResult方法,并且之后要调用finish方法。...()方法 Android activitysetResult()在什么时候调用(重点也是难点) 如果在startActivityForResult起来Activity里面设置setResult,结果并不会马上返回给...以上就是Android startActivityForResult和setResult区别,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站支持!

    1.4K31

    返回数据给上一个活动

    第一个参数是intent买第二个是请求吗,用 来判断数据来源。 ? 在主要活动里面写 ? 第二个活动里面写响应 接着给第二个按钮注册监听器 在点击事件添加返回数据逻辑。...new一个对象,属于java发的人 特色了,有时候觉得为什么不是birth呢,然后调用一个 setResult()接受两个参数,一个参数用于向上一个活动返回 处理结果,只有两个参数 ?...二是我们在返回数据时传入处理结果 三是data,携带有返回数据Intent由于活动里面可能会调用这个函数去启动不同活动,每一个活动返回数据都会回调到 ? 这个方法里面来检查值 ?...Intent提供了一种在不同应用程序代码之间执行后期运行时绑定功能。它最重要用途是在启动活动时,可以将其视为活动之间粘合剂。它基本上是一种被动数据结构,其中包含要执行动作抽象描述。...实际写代码 ?

    1K20

    Android应用界面开发——简单控件和Activity间传递数据

    开启Android开发之旅 要想开发一个Android App,开发环境是必不可少,所以学习之前应该先搭建环境,环境如下: JDK + Android SDK(配置环境变量) 开发环境:Android...第四步:输入主活动名称以及主活动布局文件名称。 ? Finish,一个工程就创建好了。...startActivityForResult(intent):打开另一个Activit,同时向开启Activity传递数据,并回数据。...,所以打开买书界面应该用startActivityForResult方法,并实现onActivityResult方法,当打开界面由结果返回时,调用该方法,并在这个方法里将返回结果显示出来。...Demo全部代码放在了Github上,点击进入下载地址 Android Studio一些快捷方式 Ctrl + 鼠标左键 / Ctrl + B:跳转类或方法定义 Alt + Insert:生成代码(

    1.9K30

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

    详情可参考:http://blog.csdn.net/hunanwy/article/details/8622433  或者 《第一行代码Android》  P46 6、如何向下一个活动传递数据以及返回数据给上一个活动...  在启动活动时传递数据思路很简单,Intent中提供了一系列putExtra()方法重载,可以将我们想要数据暂存在Intent,启动另一个活动后,只需要将这些数据取出就可以了。    ...,将返回数据通过putExtra()方法写入Intent,并调用setResult()方法进行返回intent便于第一个活动处理,setResult()方法也是两个参数,第一个是参数用于向上一个活动返回处理结果...onActivityResult()方法,因此我们还需要在第一个活动重写onActivityResult()方法,在该方法我们对返回数据和结果进行处理。...我们通常在这里会将一些消耗CPU资源释放掉,并在这里保存你一些关键数据,因为这个时候你程序优先级降低,有可能被系统收回。 onStop():在活动完全不可见时候调用。

    1.2K90

    安卓应用安全指南 4.1.2 创建使用活动 规则书

    由于意图过滤器特性,以及工作原理,即使您打算向内部私有活动发送意图,但如果通过意图过滤器发送,则可能会无意中启动另一个活动。...活动启动模式可以在AndroidManifest.xml文件android:launchMode属性显式设置,但由于上面解释原因,这不应该在活动声明设置,并且该值应该保留为默认"standard...另一方面,私有活动永远不会直接从其他应用收到任何意图,但目标应用公共活动可能会将恶意Intent转发给私有活动,因此您不应该认为私有活动不会收到任何恶意输入。...4.1.2.7 返回结果时,请注意目标应用产生可能信息泄露(必需) 当您使用setResult()返回数据时,目标应用可靠性将取决于Activity类型。...意图附加部分信息不会输出到LogCat`,因此最好在那里存储敏感信息。 但是,首先发送敏感数据,是防止信息泄露唯一完美解决方案,因此您应该尽可能限制发送敏感信息数量。

    1.3K20

    Android Intent漏洞

    如 例如,如果你在应用构建一个名为DownloadService服务,用于从Web下载文件,可以使用以下代码启动: // Executed in an Activity, so 'this' is...Intent 过滤器控制应用在列表位置 2.安全问题 滥用Activity返回值 如果受害应用使用startActivityForResult(),攻击应用使用setResult()将数据传输到受害者应用...ps:上面是我理解,不知道对不对 访问任意组件 由于 Intent 是 Parcelable,因此属于此类对象可以作为额外数据传递给另一个 Intent。...这可用于创建一个代理组件(活动、广播接收器或服务),该组件采用嵌入式意图并将其传递给危险方法,如startActivity()或 sendBroadcast()因此,可以强制应用启动无法直接从其他应用启动未导出组件...例如,假设应用具有执行某些不安全操作未导出活动以及用作代理导出活动: AndroidManifest.xml <activity android:name=".ProxyActivity" android

    59330

    Android系列之Activity值和回

    Android 组件系列之Activity值和回值 在这篇随笔里将讲解Activity值和回值。...一、通过startActivity来进行Activity值 在Android,如果我们要通过一个Activity来启动另一个Activity,可以使用 startActivity(Intent intent...,然后点击按钮,将这个结果值又返回给我们 MainActivity,并将结果填充到算术表达式,具体看如下代码: activity_main.xml: <RelativeLayout xmlns:android...我们看到这里还有一个 onActivityResult 方法,这个方法就是用来处理我们Activity方法,所有的Activity回操作都是在这个方法完成。...MainActivity,通过 setResult 方法可以将我们值保存在Intent对象,并返回给MainActivity对象,通过 onActivityResult 方法来处理得到Intent

    2K30

    Android startActivityForResult用法

    一、介绍 当我们在第一个Activity打开第二个Activity时,第二个Activity关闭并想返回数据给第一个Activity时,我们就可以使用startActivityForResult进行值...以便确定返回数据是从哪个Activity返回,用来标识目标activity。...上面两个值感觉Android就是为了保证数据严格一致性特地设置了两把锁,来保证数据发送,目的地严格一致性。...()传递过去值 * resultCode 结果码,结果码用于标识返回数据来自哪个新Activity */ @Override protected void onActivityResult...()方法第一个参数值可以根据业务需要自己定义,上面代码中使用到RESULT_OK是系统Activity类定义一个常量,值为-1,代码片断如下: public class android.app.Activity

    36520

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

    Android 屏幕跳转关系和方式如下图所示: ? 事实上,在 Android ,屏幕使用一个活动来实现,屏幕之间是相互独立,屏幕之间跳转关系通过 Intent来实现。...6.4.1.跳转方法 本示例是一个简单屏幕之间跳转,从一个屏幕跳转到另一个屏幕,在启动第二个屏幕后,前一个屏幕消失。...Forward 程序运行结果如图所示: ?...是android.content 包类,用于启动活动、服务或者消息接收器。...返回信息通过扩展 Activity onActivityResult()函数来实现,两个整数类型参数 requestCode 和 resultCode分别代表请求代码结果码,第三个参数 Intent

    90620

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

    Android 屏幕跳转关系和方式如下图所示: ? 事实上,在 Android ,屏幕使用一个活动来实现,屏幕之间是相互独立,屏幕之间跳转关系通过 Intent来实现。...6.4.1.跳转方法 本示例是一个简单屏幕之间跳转,从一个屏幕跳转到另一个屏幕,在启动第二个屏幕后,前一个屏幕消失。...Forward 程序运行结果如图所示: ? ?...是 android.content 包类,用于启动活动、服务或者消息接收器。...返回信息通过扩展 Activity onActivityResult()函数来实现,两个整数类型参数 requestCode 和 resultCode分别代表请求代码结果码,第三个参数 Intent

    85010

    Android 蓝牙4.0代码解析

    0,通俗易懂  粗暴解释Android与蓝牙Ble之间通信 - android小草 - 博客园 1,Activiy生命周期 Activity生命周期 2,AndroidonActivityResult...和setResult方法,Intent使用 : 【已解决】Android蓝牙实例代码找不到REQUEST_ENABLE_BT  看完下面的内容就理解这儿了。...以便确定返回数据是从哪个Activity返回 代码写在旧窗体,在旧窗体里new 2个Intent(目的窗体时2个不同新窗体),requestCode用来区分是向哪个新窗体消息,当离开旧窗体切换到新窗体时消息显示在新窗体...代码写在新窗体,在新窗体里new 1个Intent(目的窗体是旧窗体),把返回信息存入Intent对象,setResult把通过这个Intent对象把信息传给旧窗体。...setResult(RESULT_OK, intent)方法把信息(intent)传回旧窗体,旧窗体怎么知道是哪个新窗体信息哪?

    1.1K50
    领券