需要在 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为建议。
我有片段 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为建议。