Android sendBroadcast() 后跟 finish()

Android sendBroadcast() followed by finish()

我卡在某个似乎是线程同步问题的地方。 我有两个 类:

AppLayout that extends Activity SettingsPart that extends Fragment and implements some Listeners

成功应用设置后,我想发送广播并完成 Activity,因此 SettingsPart.java 中的代码如下所示:

((AppLayout) getActivity()).sendBroadcast(intent); ((AppLayout) getActivity()).finish();

Activity 按预期关闭,但未发送任何广播。 如果我删除对 finish() 的调用,广播将成功发送。

在关闭activity之前有没有什么聪明的方法来等待广播发送?

Activity 正在接收广播,它无法对其执行任何操作(因为 activity 正在立即完成)。我不会调用 finish() SettingsPart.java,而是从您在 Activity 中处理广播的任何地方调用 finish()。请注意,在所有情况下都要完成 activity,不要让它永远未完成。