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,不要让它永远未完成。
我卡在某个似乎是线程同步问题的地方。 我有两个 类:
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,不要让它永远未完成。