【发布时间】:2012-09-05 00:56:51
【问题描述】:
我正在为我的应用实现一个设置,允许用户切换主题,用户在切换主题时将在设置活动中,而在任务上方将是主屏幕。
我希望当前activity 在主题更改后重新启动,但我也希望主屏幕重新启动,因此当用户从设置页面返回时,他会看到带有新活动的主屏幕。
重启当前activityis easy,但是如何强制当前task中的前一个activities也重启呢?
我尝试将FLAG_ACTIVITY_CLEAR_TOP / FLAG_ACTIVITY_CLEAR_TASK 添加到intent,但它会从task 中删除这些活动,所以当我从设置中回击时,我会返回主屏幕而不是我的应用主屏幕。
谢谢。
【问题讨论】:
-
当用户返回时重新启动主要活动是否可以接受?也许,在
onActivityResult? -
这个主意不错……我试试看。
-
我想你知道,系统使用 onConfigurationChange 来达到这个目的。如果系统语言将被更改 - 您的活动将被重新创建,onConfigurationChange() 将被调用,如果您声明您可以处理这种情况。我认为在您的情况下您应该尝试做同样的事情,但是,由于您的内部应用程序设置,我不确定如何触发 COConfigurationChange。如果可以在应用程序中这样做 - 我认为这将是一个完美的解决方案。
-
@AleksG 我接受了您的解决方案,如果您想将其发布为答案,我会接受。
-
@marmor 谢谢。我发布了答案。
标签: android android-intent android-activity