android - 使用 startActivityForResult,如何在子 Activity 中获取 requestCode?

标签 android android-intent android-activity startactivityforresult

我有四个 Activity ,比如 A、B、C 和 D。 我的情况是 A 将通过 startActivityForResult 启动 Activity B。

startActivityForResult(new Intent(this,B.class),ONE);

在其他情况下,我将 B 与其他情况。喜欢

 startActivityForResult(new Intent(this,B.class),TWO);

在 B 中,我需要根据 requestCode 调用 C 或 D。即如果ONE需要启动C,否则D.
所以我需要知道如何检查子Activity中的requestCode(这里是B)。
换句话说,我想获取 Activity B 开始时的请求代码。

最佳答案

您可以通过 put extra 传递请求代码。

intent.putExtra("requestCode", requestCode);   

或者,如果您已经多次使用 startActivityForResult,那么比每次编辑更好,您可以在 Activity 中override startActivityForResult ,像这样添加你的代码

@Override
    public void startActivityForResult(Intent intent, int requestCode) {
        intent.putExtra("requestCode", requestCode);
        super.startActivityForResult(intent, requestCode);
    }

所以没有必要编辑你所有的 startActivityForResult
希望对你有帮助

关于android - 使用 startActivityForResult,如何在子 Activity 中获取 requestCode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5104269/

相关文章:

java - 如何制作动画Activity过渡

android - 单击按钮创建一个 apk

Android:检测 View 的父 Activity 是否暂停

android - 将值返回到不同的 Activity

android - 我如何在android中一次显示两个 Activity

android - 使用 Intent 打开特定文件夹

android - 导入 OpenIntents 以在 Android 应用程序中使用 OI 文件管理器

android - 全屏视频播放器 - 导航栏后面的媒体 Controller

android - 重置设置首选项

android - Firebase SignedURL 不等于下载 url 存储