更改语言环境后完成活动

时间:2013-08-08 08:27:36

标签: android locale activity-finish onconfigurationchanged

我有Activity A并从中调用Activity B。 在清单活动A中有configChanges android:configChanges="locale|orientation|screenSize"

在活动A中   - 用于更改区域设置

@Override
public void onConfigurationChanged(Configuration newConfig)
{
    super.onConfigurationChanged(newConfig);
    Resources res = this.getResources();
    res.updateConfiguration(newConfig, null);
    Intent intent = getIntent();
    intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
    intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
    startActivity(intent);
}
  • 用于启动活动B

    Intent intent = new Intent(this,B.class);     startActivity(意图);

如果我启动活动A并更改区域设置,则一切正常。 但是,如果我尝试启动活动A,则启动活动B,然后转到活动A并更改区域设置Activity A will not be restarted, it will be destroyed。 如何防止活动A被销毁?

1 个答案:

答案 0 :(得分:0)

将标志Intent.FLAG_ACTIVITY_REORDER_TO_FRONT添加到您的意图中。如果已经运行,它将从堆栈重新排序现有的活动。