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

如何处理onActivityResult?

onActivityResult是Android开发中的一个方法,用于处理Activity之间的数据传递和结果返回。当一个Activity启动另一个Activity并期望获取后者的返回结果时,可以使用onActivityResult方法来处理返回的结果。

在使用onActivityResult方法时,需要在启动Activity的地方使用startActivityForResult方法来启动目标Activity,并传递一个请求码(requestCode)。目标Activity在完成任务后,可以通过setResult方法设置返回结果,并在返回之前调用finish方法来关闭自身。

在调用startActivityForResult方法的Activity中,可以重写onActivityResult方法来处理返回的结果。onActivityResult方法接收三个参数:requestCode、resultCode和data。其中,requestCode是之前传递的请求码,resultCode是目标Activity设置的结果码,data是包含返回数据的Intent对象。

下面是一个示例代码:

代码语言:java
复制
// 启动目标Activity
Intent intent = new Intent(MainActivity.this, TargetActivity.class);
startActivityForResult(intent, REQUEST_CODE);

// 处理返回结果
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    
    if (requestCode == REQUEST_CODE) {
        if (resultCode == RESULT_OK) {
            // 处理成功返回的结果
            String result = data.getStringExtra("result");
            // ...
        } else if (resultCode == RESULT_CANCELED) {
            // 处理取消操作的情况
            // ...
        }
    }
}

在上述示例中,MainActivity启动了TargetActivity,并传递了一个请求码REQUEST_CODE。在TargetActivity中,可以通过setResult方法设置返回结果,并在返回之前调用finish方法关闭自身。在MainActivity中,重写onActivityResult方法,根据requestCode和resultCode来处理返回的结果。

onActivityResult方法的处理逻辑可以根据具体的业务需求进行定制,例如根据resultCode判断操作是否成功,根据data获取返回的数据等。

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

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

相关·内容

Android Fragment 的妙用 - 优雅地申请权限和处理 onActivityResult

使用 Fragment 封装权限申请 使用 Fragment 优雅处理 onActivityResult Activity reCreate 的时候用来存储数据 这篇文章主要讲解以下内容 使用 Fragment...封装权限申请 使用 Fragment 优雅处理 onActivityResult 当然,这些封装,网上都有相应的开源库了, RxPermission, EasyPermision, RxActivityReslut...等,这里讲解如何封装,主要是让大家了解背后的原理,加深理解。...---- 使用 Fragment 优雅处理 onActivityResult 我们先来看一下没封装之前 onActivityresult处理方式 我们先来看下正常情况下启动 Activity 和接收回调信息的方式...onActivityResult 都在同一个 activity 处理,如果这种方式特别多的话,我们要写一大堆的 if else,代码可读性大大较低,也不是很优雅。

2.1K30

优雅的监听onActivityResult

一、思考 当Activity A启动一个Activity B后,B finish,我们可能需要处理B返回的值,此时,我们可能就需要用到了onActivityResult,需要在Activity A中重写实现...当然,在这种前提是我们处理逻辑都是放在Activity A类中,那么假如我们是在一个其他类,不是Activity或者Fragment的情况呢?...[image.png] 此时,我们可能会用到EventBus这种全局分发事件的方式来处理,但种感觉不够优雅。...(int resultCode, Intent data); } } 该接口的方法提供一个startActivity,让外部传入intent和requestCode,还有处理onActivityReuslt...resultCode, Intent data) { // to handle result.... } }); [image.png] 四、结合Rxjava 可能需求逻辑会比较复杂,可能需要连续的处理

2.1K70

是时候丢掉 onActivityResult 了 !

为什么要丢掉 onActivityResult如何启动一个新的 Activity,并获取返回值?...没错,一直以来,在某些场景下,例如启动系统相机拍照,返回当前页面后获取照片数据,我们并没有其他选择,只能在 onActivityResult 中进行处理。...这两个能力放到启动 Activity 中就很好理解了,createIntent 负责为 startActivityForResult 提供 Intent ,parseResult 负责处理 onActivityResult...如何自定义返回值 ? 前面提到的都是系统预置的协议,返回值也都是固定的。那么,如何返回自定义类型的值呢?其实也很简单,自定义 ActivityResultContract 就可以了。...有时候我们可能会在结果回调中进行一些复杂的处理操作,无论是之前的 onActivityResult() 还是上面的写法,都是直接耦合在视图控制器中的。

71620

再见 onActivityResult!你好 Activity Results API

但随之产生了许多问题,随着应用功能不断添加迭代,onActivityResult方法会存在各种处理数据的回调,嵌套严重,难以维护,并且还得定义一堆额外的常量REQUEST_CODE,用于判断是哪个请求的回调结果...:1.3.0-alpha02 中,已经废弃了startActivityForResult和onActivityResult方法。...它定义了如何传递数据和如何处理返回的数据。...Activity.RESULT_OK) data else "" } } 我在createIntent方法里创建了Intent,在parseResult方法里处理返回的数据...总结 新的Activity Result API提供一种简便方法来完成数据接收,例如打开相机、相册,权限的处理(是时候抛弃各种权限框架了RxPermission,EasyPermission ,xxx

1.3K30

android onresume方法,Android onActivityResult()和onResume()的执行顺序

问题回顾: 在Android8.0手机上不能直接安装Apk,需要权限申请,回调后执行onActivityResult()方法,并弹出对应的dialog,这时需要判断当前Activity是否处于resume...问题本质 Activity跳转到系统应用后回调onActivityResult() 先执行还是onResume()先执行?...(int requestCode, int resultCode, Intent data) { } onActivityResult()注释中有这么一句话: You will receive this...(意思是说当你的Activity重新启动时 onActivityResult() 会在onResume()之前执行) 很显然,如果你的Activity 调用了 startActivityForResult...() 方法启动,回调之后会先执行 onActivityResult() ,然后执行onResume() 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139798.

74020

图片不清晰如何处理?色彩平衡如何处理

图片不清晰,非常影响网页的观感或者是图片设计的效果,因此图片不清晰如何处理也是许多人想要解决的问题。下面就来看一看图片不清晰如何处理的方法。 图片不清晰如何处理?...图片不清晰,如何处理的方法很简单,可以将图片的颜色进行调整,比如它的亮度和对比度,提升颜色对比度之后,一般可以让图片变得更加清晰一些。...还有一种专业一点的做法是,通过photoshop这种做图软件,将图片进行锐化磨皮处理。磨皮工具可以让图片看起来颗粒度没有那么密,而锐化则可以提高图片的清晰度。...色彩平衡如何处理? 在对图片进行处理的时候,调整图片的色彩往往会给图片带来不一样的效果,让图片看起来更加的鲜艳和自然。...以上就是图片不清晰如何处理的相关内容。如果拍到的图片不清晰,是可以按照以上的几种方法对图片进行微调从而提高图片清晰度的。

2K20

如何快速处理线上故障

本文主要包括如下内容:线上故障处理的目标、思路、步骤、基础设施。 本文是依据平时经历的生产故障排查和处理,总结一些肤浅的方法论,以求共同探讨,共同提高,欢迎探讨。...这里需要特别指出一个特别的场景:无法定位故障的情况下如何迅速排除故障。 很多时候无法及时找到故障原因,必须直接进入故障排除,这时候的思路就在于:尽最大可能降低线上服务影响了。...至于如何达到“严肃”,可以参考如下形式: 可以和kpi挂钩。 慎用,可能会伤害到技术人员的心,造成“懒政”现象——“多干多出事,少干少出事”出现。 可以实施追责制度。 同上。...8 线上故障处理的“后勤保障” 前面谈了线上故障处理的目标、思路和步骤,回过头来看下,要快速准确地定位和排除线上故障,需要很多基础设施支撑,它们是线上故障处理的“后勤保障”。...完善的故障处理机制 线上故障处理的要点在于快速,所以需要有完善便捷的事件流转机制和故障处理机制来保证:生产事件能快速推送到相关责任人进行联合排除,保证事件排查过程中快速共享信息,快速完成决策。

1.7K60

如何优雅的处理Restful

最近公司搭建的项目,前端反映后端返回格式不统一的问题,因此引发小编的思考,如何能够优雅的处理返回值格式呢?在度娘中仔细研读了一番,决定总结一下,于是乎此文便诞生了。...一、背景 首先,大家都会思考为什么要做统一格式处理呢?...因此,如何让前端小伙伴可以处理标准的 response JSON 数据结构都至关重要。 通过上面一个问题把大家带入正题,下面我们统一定义一下格式。...message:错误信息 在发生错误时,如何友好的进行提示? 1.根据code 给予对应的错误码定位; 2.把错误描述记录到message中,便于接口调用者更详细的了解错误。...4 400-499 客户端错误 请求包含语法错误或无法完成请求 5 500-599 服务端错误 服务器在处理的时候发生错误 2.3统一结果类 /** * @Author:qxy * @Date:

93730
领券