无法以编程方式更改Oreo中的区域设置

时间:2018-03-16 09:58:40

标签: java android localization locale

我要求将我的应用程序语言从英语更改为印地语。我无法在Android 8.0中执行此操作

public static void setUpLanguage(SqrrlApplication application, String languageIsoCode) {
        try {
            Locale locale = new Locale(languageIsoCode);
            Locale.setDefault(locale);
            Resources res = application.getResources();
            Configuration config = new Configuration(res.getConfiguration());
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                config.setLocale(locale);
                application.getApplicationContext().createConfigurationContext(config);
            }else{
                config.locale = locale;
            }
            res.updateConfiguration(config, res.getDisplayMetrics());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

请注意:但是,如果我从设备设置更改设备语言,我的应用程序将更改为hindi版本。

我在res中有'values-hi'文件夹,有hindi字符串。

感谢。

0 个答案:

没有答案