1

我有一个Activity和一个IntentService

Activity调用IntentService完成后,IntentService我想重新启动 Activity。但前提是它当前在屏幕上。当它再次打开时(仅onResume())调用,并且没有创建新实例,它也应该重新启动。

那么练习这个的最佳方法是什么?

4

1 回答 1

0

如果活动仍在屏幕上,则不必重新启动它。您可以注册一个BroadcastReceiver将在您IntentService完成工作后处理发送的广播。

如果活动已完成或不在屏幕上,则使用startActivity和创建新实例是安全的(并且不是坏习惯)。这将使您的历史保持一致。

如果您真的想要一个且唯一的活动实例,您可以将以下行添加到清单中的活动标签中。

android:launchMode="singleTask"

或者

android:launchMode="singleInstance"

如果您想了解详细信息,这篇文章将解释差异。

于 2013-08-06T14:04:41.957 回答