繁体   English   中英

如何更改android应用程序的语言? 区域设置已弃用

[英]How to change language of android app ? Locale is deprecated

我刚刚完成了我的应用程序,但在更改应用程序语言的方法上出现此错误

Setting.java:uses or overrides a deprecated API.Recompile with -Xlint:deprecation for details.

这是我的方法

private void setLanguage(String language){

    //setting new configuration
    Locale locale = new Locale(language);
    Locale.setDefault(locale);
    Configuration config = new Configuration();
    config.locale = locale;
    con.getApplicationContext().getResources().updateConfiguration(config, null);

    //store current language in prefrence
    prefData.setCurrentLanguage(language);

    //With new configuration start activity again
    Intent intent = new Intent(getApplicationContext(),MainActivity.class);
    startActivity(intent);
    finish();

}

我怎样才能克服这个问题并发布我的应用程序。 提前致谢

config.locale = locale;

从 Android.N 开始不推荐使用,因此请使用以下代码:

    @SuppressWarnings("deprecation")
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
        config.setLocale(locale);
    } else {
        config.locale = locale;
    }

加上重新启动活动的最佳方法是调用:

recreate();

我有同样的问题。这对我有用。

    Resources res = getResources();
    DisplayMetrics dm = res.getDisplayMetrics();
    Configuration  conf = res.getConfiguration();
    conf.setLocale(new Locale("es"));
    res.updateConfiguration(conf, dm);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM