由于切换另一个应用程序,我的应用程序语言环境配置正在更改

时间:2019-06-18 10:29:06

标签: android locale

我的应用程序支持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());
    }

预先感谢

0 个答案:

没有答案