Android,更改应用程序语言无法在OnePlus和华为上正常运行

时间:2019-03-28 09:49:47

标签: android locale android-configchanges

我正在这样更改应用程序定位,

     Language language = getPreferenceAppLanguage();
        if (language == null) {
            return;
        }

        Locale locale = createLocale(language);

        Locale.setDefault(locale);

    Resources res = mContext.getResources();
    Configuration config = new Configuration(res.getConfiguration());
    if (Build.VERSION.SDK_INT >= 17) {
            config.setLocale(locale);
            mContext.createConfigurationContext(config);
        } else {
            config.locale = locale;
            res.updateConfiguration(config, res.getDisplayMetrics());
        }
    res.updateConfiguration(config, res.getDisplayMetrics());    

在所有其他设备上都可以正常工作,但是在oneplus和huawei中,当我更改语言并再次启动应用程序时,所有资源都仅设置为英语语言环境。有人对此有解决办法吗?

重新启动活动时不会发生这种情况,只有在关闭应用程序并重新启动时才会发生

0 个答案:

没有答案