3

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

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

重新启动当前activity 很容易,但是如何强制activities当前中的前一个task也重新启动?

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

谢谢。

4

2 回答 2

2

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

于 2012-09-04T12:20:30.873 回答
2

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

于 2012-09-04T16:56:51.603 回答