通过多个活动传递数据

2023-11-22

1-是我的第一个活动(主要) 2-是我的第二项活动 3 - 是我的第三项活动

我想从 1 运行 2 ,然后形成 2 运行 3 ,然后从 3 获取数据并将其返回到 1 。希望大家能理解。

这是我的代码:

像这样运行 2 form 1 :

            Intent intent = new Intent(getApplicationContext(),MessageBox.class);
             intent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
            startActivityForResult(intent,5);               

然后像这样从 2 运行 3:

                Intent intent = new Intent(getApplicationContext(),ImageReceiver.class);

                startActivityForResult(intent,5);

然后在 3 中我有这样的东西:

          setResult(10);
          finish();

所以我设置了结果,所以在 2 中得到这个结果:

        if(requestCode==5)
        {
            if(resultCode==10)
            {

                Intent intent = new Intent(getApplicationContext(),MainActivity.class);

                setResult(5,intent);
                finish();
            }
        }

然后在 1 中我得到:

     if(requestCode==5)
     {
         if(resultCode==5)
         {
             //here i am taking data from 3
         }
     }

问题是我什至无法在 logcat 中打开 2 因为我得到:

04-23 22:13:15.579:E / AndroidRuntime(15313):android.util.AndroidRuntimeException:在请求结果时使用了FORWARD_RESULT_FLAG

我真的不知道我应该做什么。请看一下这段代码。


当从 1 开始 2 时,你不能这样做:

Intent intent = new Intent(getApplicationContext(), MessageBox.class);
intent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
startActivityForResult(intent,5);

这将引发您收到的异常。你不能使用FLAG_ACTIVITY_FORWARD_RESULT and startActivityForResult()一起。

如果你想让 1 从 3 得到结果,那么你需要从 1 开始 2,如下所示:

Intent intent = new Intent(getApplicationContext(), MessageBox.class);
startActivityForResult(intent, 5);

然后从 2 开始 3,如下所示:

Intent intent = new Intent(getApplicationContext(), ImageReceiver.class);
intent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
startActivity(intent);
finish();

这告诉 Android Activity 3 (ImageReceiver) 应将其结果转发回调用活动 2 的活动 (MessageBox)。当活动 3 设置结果并完成时,onActivityResult()活动 1 中将使用活动 3 发送的结果数据进行调用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过多个活动传递数据 的相关文章

随机推荐

  • 如何将一个 Git 存储库变基到另一个 Git 存储库?

    我有一个 Git 存储库 A 其中包含项目到某一时刻的开发情况 然后我丢失了这个存储库 A 所在的 USB 记忆棒 幸运的是 我有最新提交的备份 因此我可以稍后创建一个新的存储库 B 在其中导入最新项目的状态并继续开发 现在我恢复了丢失的
  • Java 正则表达式单词边界

    您好 我有以下代码 旨在查找单词 is 但当它位于另一个字符串中时则不查找 因此单词 this 不应返回匹配项 因此我使用 b 但下面的代码没有找到匹配项 我不明白为什么 public static void main String arg
  • QObject::startTimer:定时器只能与以 QThread 启动的线程一起使用

    我试图在工作线程事件循环中启动计时器 但收到此错误 QObject startTimer Timers can only be used with threads started with QThread 这有什么问题吗 include
  • CI 环境中 Maven 项目的 GPG 密钥保存在哪里?

    我正在尝试使用maven gpg 插件 标志为了在部署到 Sonatype OSS 存储库之前对项目工件进行签名 问题是我应该在哪里保存我的密钥secring gpg 在持续集成中 gnupg目录 在项目源代码中 例如src test re
  • 为什么右方括号“]”不需要在正则表达式中转义?

    考虑数组 new Pattern Pattern compile Pattern compile Intellij IDEA 告诉我 是多余的 并告诉我将其替换为 例如结果是 new Pattern Pattern compile Patt
  • 如何使用 Three.js 和 jsonLoader 制作加载屏幕?

    我有大量的纹理文件和模型要加载到我的项目中 我试图在所有内容加载时显示状态栏或某种加载屏幕 如果有人能给我任何关于如何做到这一点的信息 那就太棒了 Thanks 所需的最低代码如下 THREE DefaultLoadingManager o
  • 我如何处理帆中的独特场?

    我在模型中定义了一个独特的字段 但是当我尝试测试时 似乎它没有被帆检查 因为我得到了一个Error E UNKNOWN Encountered an unexpected error MongoError E11000 duplicate
  • 更改 TabWidget 中的文本颜色和选择器

    I ve a TabWidget 独立于 actionBar in aFragmentTabHost 我想定制的外观和感觉TabWidget但我不明白 我的目的是更改文本颜色和选择器颜色 正如您在图像中看到的那样 我可以更改文本的背景Tab
  • css 浮动及其堆栈顺序

    我正在回顾之前学过的 float 属性 我发现了一个关于浮动元素及其自己的堆叠顺序的简单问题 代码如下 示例1 box 1 background teal width 100px height 100px float left div cl
  • 有没有办法在正则表达式中执行动态替换?

    有没有办法在 C 4 0 中使用匹配中包含的文本函数进行正则表达式替换 在php中有这样的东西 reg replace hello world yay s randomfunction 0 它为每场比赛提供独立的结果 并在找到每场比赛的地方
  • “DS:[40207A]”在汇编中是什么意思?

    0040103A CALL DWORD PTR DS 40207A USER32 MessageBoxA 什么是DS mean 该指令正在从内存加载新的 EIP 值ds 40207A 即地址处有一个函数指针40207A 它推送一个返回地址
  • 将内容插入 iFrame

    我试图将一些内容插入到 空白 iFrame 中 但是没有插入任何内容 HTML JS iframe ready function var doc iframe contentWindow document var body text Tes
  • Kendo-ui MVC PopUp 编辑器:如何隐藏字段

    我正在使用 Kendo ASP NET MVC 我想对编辑表单进行一些控制 我想做的事情 隐藏我的 ID 字段 将我的属性代码和平方英尺更改为常规 TextBoxFor 字段 将购买日期和销售日期更改为 Kendo DatePickerFo
  • 使用 Comet/XMPP 与 Microsoft 堆栈上的 WebSocket 技术进行实时 Web 通知和更新的选项?

    我正在为一个项目确定架构选项 该项目将呈现用户活动 登录 照片等 的实时更新 如 Facebook 该项目的两个主要 UI 组件是一个自动更新滚动区域 其中将列出新通知 照片 等 以及一个将更新消息计数等内容的工具栏 其竞争者是基于 Jab
  • 仅允许大写和小写字母

    我只想接受用户的小写和大写字母 我尝试了下面的代码 它回显了无效字符消息 但不起作用 我的意思是它不检查 它只是显示消息 有什么帮助吗
  • d3.js 中折叠/展开树的子节点?

    我正在构建一个树结构 或者更确切地说 使用我自己的 json 中的一组数据修改其中一个示例 并且我正在尝试创建一些功能 我的树的布局是树示例中的布局 http mbostock github com d3 ex cluster html 我
  • Mathematica 快速 2D 分箱算法

    我在 Mathematica 中开发适当快速的分箱算法时遇到一些麻烦 我有一个很大的 100k 元素 数据集 其形式为 T x1 y1 z1 x2 y2 z2 我想将其分入大约 100x100 个 bin 的 2D 数组中 bin 值由每个
  • super 函数在 Maya python 模块中不起作用

    不知何故 这在 Maya Python 脚本编辑器中工作正常 但在我的模块代码内部时失败 有人有主意吗 class ControlShape object def init self args kwargs print Inside Con
  • mysql 别名的未知列问题

    我不明白为什么当该列是创建的别名时我会得到一个未知列 任何帮助都会很棒 code SELECT DISTINCT c id SUM c width feet 12 SUM c width inches AS width SUM c heig
  • 通过多个活动传递数据

    1 是我的第一个活动 主要 2 是我的第二项活动 3 是我的第三项活动 我想从 1 运行 2 然后形成 2 运行 3 然后从 3 获取数据并将其返回到 1 希望大家能理解 这是我的代码 像这样运行 2 form 1 Intent inten