【问题标题】:what to use instead of the deprecated locale使用什么来代替已弃用的语言环境
【发布时间】:2016-12-27 07:59:12
【问题描述】:

我正在尝试使用这行代码在我的应用中返回语言环境:

Locale current = getResources().getConfiguration().locale;

minSdkVersion 为 15,编译时为 24。但 locale 已弃用,是否会影响我的应用效率?

是否有任何其他“不推荐”的方式来检索语言环境?

【问题讨论】:

标签: android localization


【解决方案1】:

如果您使用 API 24 或更高版本进行编译,您应该这样做。它仍然会显示不推荐使用较低的,但您可以忽略它。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
    locale = getResources().getConfiguration().getLocales().get(0);
} else {
    locale = getResources().getConfiguration().locale;
}

【讨论】:

  • 谢谢,这正是我想要的答案:)
  • 警告:N 返回一个语言环境列表,如果没有可用资源,加载字符串将尝试回退到下一个语言环境。所以只看第一个可能没有意义。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-10
  • 2019-10-01
  • 2020-01-18
相关资源
最近更新 更多