“ getDisplayLanguage()”始终返回“英语”

时间:2019-07-09 06:34:25

标签: android

我需要获取在Android设备中选择的当前语言。当我使用以下代码时:

Log.v("Language: ", Locale.getDefault().getDisplayLanguage());
Log.v("Language: ", getResources().getConfiguration().locale.getDisplayLanguage());

输出始终相同:

V/Language:: English

下面来自android模拟器的所选语言图片:

android emulator selected language

当我更改仿真器的语言时,可以在Android控制台上获得图片中的日志。(但是getDisplayLanguage()函数返回英文)

android console

1 个答案:

答案 0 :(得分:0)

String locale = context.getResources().getConfiguration().locale.getDisplayName();
String locale = java.util.Locale.getDefault().getDisplayName();

它们是不同的。如果用户切换语言环境,则第一个可以更改。

第二个是预装在手机上的手机。无论用户做什么,它都不会改变。

快乐编码:)