如何在用户处于第二个活动并在 android 中更改语言时重新启动应用程序

How to restart the app when user is in secound actvity and changed language in android

我有 2 个活动 Activity1,Activity2,当我打开我的应用程序时,Activity1 将从那里显示,我将导航到 Activity2,这次 Activity1 在后台。

当我在 Activity2 时,我是 Activity2 我正在打开设置并更改语言,然后系统重新加载 Activity2。此时我不想显示 activity2 ,我想从开始重新启动我的应用程序。

目前我已经在 Activity2 中使用的片段中尝试了以下逻辑来消除崩溃。

片段:

 public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View view = inflater.inflate(
            R.layout.point_selection_list_fragment, container, false);
    if (savedInstanceState != null) {
        Utils.removeFragment(this);
        return view;
    }
return view;
}

请试试这个。 finish() 设置更改后的活动和启动 firstactivity 意图。 谢谢 希望对你有帮助

希望对您有所帮助。

Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName() );
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);

唯一的问题是它不会重新启动应用程序,只会重新创建 类。因此,类 中的任何静态变量都将保留先前运行的值

使用

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

查看this solution here这可能对您有所帮助