使用哪个代替已弃用的语言环境?

6

我正在尝试使用以下代码返回我的应用程序的本地化:

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

minSdkVersion为15,编译版本为24。但是locale已经被弃用了,这会影响我的应用程序效率吗?

是否有其他“未被弃用”的方法来检索语言环境?


2
可能是重复的问题:如何获取当前语言环境(API级别24)? - Andrii Abramov
我的意思是,如果这个被弃用的本地变量会影响我的应用程序效率。 - NawalSalameh
1个回答

13

如果您正在使用API 24或更高版本进行编译,您应该这样做。 对于低版本,它仍将显示已弃用,但您可以忽略它。

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

谢谢,这正是我想要的答案 :) - NawalSalameh
警告:N返回区域设置列表,加载字符串将尝试回退到下一个区域设置,如果没有可用的资源。因此,仅查看第一个可能是无意义的。 - Mihai Nita

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接