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

Android 需要在onActivityResult中发送广播,但目标片段仍处于暂停状态,android,android-fragments,broadcastreceiver,onactivityresult,Android,Android Fragments,Broadcastreceiver,Onactivityresult,我有片段F1和F2 F1包含在F1的onResume/onPause中注册/取消注册的BroadcastReceiver 当我为“来自F2的结果”启动活动时,F1和F2都会暂停。我最终得到了F2的onActivityResult调用。从那里,我需要向F1发送一个广播,但此时onResume尚未调用,因此BroadcastReceives未在侦听 在这种情况下,最好的解决方案是什么 现在,我正在F1的onAttach/onDetach中注册接收器,以便在onActivityResult执行时它处于

我有片段F1和F2

F1包含在F1的onResume/onPause中注册/取消注册的BroadcastReceiver

当我为“来自F2的结果”启动活动时,F1和F2都会暂停。我最终得到了F2的onActivityResult调用。从那里,我需要向F1发送一个广播,但此时onResume尚未调用,因此BroadcastReceives未在侦听

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


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

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


谢谢你,迈克。我同意你的建议。

为什么不在F1的“恢复”或“可见性”中检查需要更新的数据?您在广播中到底发送了什么?不要使用广播和接收器试图在同一活动中的片段之间传递数据。使用通过托管活动传递数据的标准方法。@Shahar在广播中,我要求F1采取行动(在导航抽屉中选择一项)。谢谢你的评论。@MikeM。是的,在这种情况下我会停止使用广播接收器。谢谢你的帮助。