如何在用户处于第二个活动并在 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这可能对您有所帮助
我有 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这可能对您有所帮助