重启任务中的所有活动

时间:2012-09-04 12:14:01

标签: android android-intent android-activity

我正在为我的应用程序实现一个允许用户切换主题的设置,用户在切换主题时将处于设置活动中,并且在任务上方将是主屏幕。

我希望当前activity在主题更改后重新启动,但我也希望主屏幕重新启动,因此当用户从设置页面返回时,他会看到主屏幕显示新主屏幕活性。

重新启动当前activity is easy,但如何强制重置当前activities中的上一个task

我尝试将FLAG_ACTIVITY_CLEAR_TOP / FLAG_ACTIVITY_CLEAR_TASK添加到intent,但它会从task删除这些活动,所以当我从设置中回放时,我已返回主屏幕,而不是我的应用程序主屏幕。

感谢。

2 个答案:

答案 0 :(得分:2)

也许您可以检查是否有任何配置更改onRestart方法,因此当您按下时,应该触发此方法。

答案 1 :(得分:2)

一种可能的方法是在用户返回主活动时重新启动主活动。如果您使用startActivityForResult打开首选项活动,则在完成该活动时,您可以使用setResult告知主要活动是否需要重新启动。最后,在主活动的onActivityResult中,您可以查看传递的结果,并在必要时重新启动主要活动。