通过多个活动传递数据当一个活动被销毁时

问题描述

我正在 Android Studio 中构建我的第一个 Android 应用(使用 Java),我需要一些帮助来了解如何通过多个 Activity 传递数据。

受影响的课程/活动的设置是这样的:

  1. MainActivity:打开一个名为 AddDialog 的对话框(通过创建它的新实例)。
  2. AddDialog(扩展 AppCompatDialogFragment):一个有一些按钮的对话框。其中一个启动了一个名为 BarcodeScanActivity 的类(使用 Intent)。
  3. BarcodeScanActivity:扫描二维码的简单活动。

我想将 BarcodeScanActivity 扫描的 QR 码列表(我将它们存储在一个字符串数组中)传递给 MainActivity 以便使用它们,尽管 BarcodeScanActivity 是从对话框中启动的,一旦单击按钮就会被销毁。因此,我无法在对话框上设置一些 startActivityForResult 并将结果 (onActivityResult) 链接回 MainActivity。

此外,由于 MainActivity 通过创建实例启动 AddDialog,我也无法在那里设置 startActivityForResult。

我尝试在从 AddDialog 启动 BarcodeScanActivity 时添加 Intent.FLAG_ACTIVITY_FORWARD_RESULT,希望 BarcodeScanActivity 的结果将转发回 MainActivity,在那里我创建了一个 onActivityResult 方法,因为 AddDialog 被销毁,但我不知道这是否是偶数应该工作,因为 AddDialog 是由它的新实例“启动”的,而不是使用意图。

我曾考虑使用广播作为最后的手段,尽管我读到它们不安全、不可靠并且不应该用于传递此类数据。

非常感谢任何帮助!谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)