我的应用程序支持2种语言-西班牙语和英语。当用户从设置中选择其首选语言时,应用程序将更改为用户首选语言。它工作正常。 但是最近遇到了一个问题,即在另一个已安装的应用程序(在我的情况下为VUFORIA SPARK应用程序)之间切换会更改应用程序的行为。我可以感觉到此SPARK应用程序已覆盖我的语言环境。 当我的应用程序为西班牙语时>>切换到SPARk并返回到我的应用程序,将语言更改为英语。
以编程方式,我正在使用“语言环境”配置更改和设置语言来处理应用程序。假设此SPARK在某个地方将其应用设置为英语,则会影响我的应用。可以请任何人帮助我如何不覆盖我的应用程序配置
public void setApplicationLanguage(Context context, String newLanguage) {
Resources activityRes = context.getResources();
Configuration activityConf = activityRes.getConfiguration();
Locale newLocale = new Locale(newLanguage,
Locale.getDefault().getCountry());
activityConf.setLocale(newLocale);
activityRes.updateConfiguration(activityConf,
activityRes.getDisplayMetrics());
Resources applicationRes =
context.getApplicationContext().getResources();
Configuration applicationConf = applicationRes.getConfiguration();
applicationConf.setLocale(newLocale);
applicationRes.updateConfiguration(applicationConf,
applicationRes.getDisplayMetrics());
}
预先感谢