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

如何取消从startActivityForResult调用的Intent

从Android 11开始,startActivityForResult方法已被弃用,推荐使用registerForActivityResult方法来处理Activity结果。下面是取消从startActivityForResult调用的Intent的步骤:

  1. 在调用startActivityForResult方法的Activity中,重写onActivityResult方法。这个方法会在子Activity结束后被调用,用于处理返回的结果。
  2. 在子Activity中,当需要取消Intent时,可以调用finish方法来结束当前Activity,并传递一个取消的结果码。
  3. 在调用startActivityForResult方法的Activity的onActivityResult方法中,根据返回的结果码判断是否为取消操作,如果是取消操作,则不做任何处理;如果是其他操作,则根据需要进行相应的处理。

以下是一个示例代码:

在调用startActivityForResult方法的Activity中:

代码语言:java
复制
private static final int REQUEST_CODE = 1;

// 启动子Activity
Intent intent = new Intent(this, ChildActivity.class);
startActivityForResult(intent, REQUEST_CODE);

// 处理子Activity返回的结果
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    
    if (requestCode == REQUEST_CODE) {
        if (resultCode == RESULT_CANCELED) {
            // 取消操作,不做任何处理
        } else {
            // 其他操作,根据需要进行处理
        }
    }
}

在子Activity中:

代码语言:java
复制
// 取消Intent操作
Intent intent = new Intent();
setResult(RESULT_CANCELED, intent);
finish();

这样,当子Activity调用finish方法结束时,会回调调用startActivityForResult方法的Activity的onActivityResult方法,并根据返回的结果码进行相应的处理。

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

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

相关·内容

21分43秒

Python从零到一:Python函数的定义与调用

5分31秒

从零玩转Git-版本控制工具 22 取消过去的提交 学习猿地

-

双11是如何从“光棍节”走到“剁手节”的?

1时33分

从校园到行业:如何成为炙手可热的音视频技术人才?

2分27秒

DOE是如何从关键因素中找到最佳参数组合的?

-

陆怡颖:从宕机鲸说起,谈谈设计如何化解科技无法解决的问题

15分31秒

猫头虎《如何从技术笔记到个人IP:实现技术博主的成长与职业发展?》

-

从厨房味精到芯片半导体,日本公司是如何握住全球互联网命脉的#芯片

6分6秒

普通人如何理解递归算法

15分34秒

第十九章:字节码指令集与解析举例/52-方法调用指令

7分8秒

解密微信摇一摇红包从0到1的技术演进

2分51秒

18-Promise关键问题-如何修改对象的状态

领券