需要在 onActivityResult 中发送广播,但目标片段仍处于暂停状态

Need to send a Broadcast in onActivityResult but target fragment is still paused

我有片段 F1 和 F2。

F1 包含一个 BroadcastReceiver,它在 F1 的 onResume/onPause 中是 registered/unregistered。

当我为 F2 的结果启动 activity 时,F1 和 F2 都暂停了。我最终调用了 F2 的 onActivityResult。从那里,我需要向 F1 发送一个广播,但是此时 onResume 还没有被调用,所以 BroadcastReceives 没有在监听。

在这种情况下最好的解决方案是什么?

现在,我在 F1 的 onAttach/onDetach 中注册接收器,以便在执行 onActivityResult 时它处于活动状态。虽然它看起来不是最好的解决方案。

经过一些尝试,我得出结论,最好的方法是停止使用 BroadcastReceiver,而是使用来自包含 F1 和 F2 的 Activity 的 onActivityResult。在这个方法中,我直接调用了一个 F1 的方法来执行预期的操作。

谢谢迈克。 M为建议。