2
我正在为6个国家/地区工作的I18N应用程序工作,在用户需要更改设置中的语言时,应重新启动本身并以更改后的语言显示应用程序。为此,我将语言值存储在共享首选项中,并与当前语言值进行比较。如果值不一样,我需要重新启动应用程序。为此,我使用以下代码:以编程方式重新启动android应用程序
if (currentLanguage == null) {
Util.saveStringInSP(_activity, "LANGUAGE", languageValue);
}
else if (currentLanguage.equalsIgnoreCase(languageValue)) {
String currentLanguage = Util.getStringFromSP(_activity, "LANGUAGE");
}
else {
try {
android.os.Process.killProcess(android.os.Process.myPid());
}
catch(Exception e) { }
Intent i = new Intent();
PackageManager manager = getPackageManager();
i = manager.getLaunchIntentForPackage("com.pfizer.stablemate");
i.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(i);
}
请为我提供一段代码,以便在语法上重新启动android应用程序。 感谢 Ganesh神
你不需要杀/重新启动了点。你只需在清单中的configChanges字段中输入** not ** * locale *,android会为你重新开始你的活动。 – njzk2
我不想重新启动活动,我需要从头开始重新启动整个应用程序。 – Ganesh
那么你实际上可以在你的configChanges字段中有**语言环境,并且在你的活动中接收到onConfigChange中的语言环境变化 – njzk2