Android:默认语言环境语言“hd”

时间:2013-02-22 08:26:29

标签: android locale

我使用Locale.getDefault.getDisplayLanauge()来获取语言代码,但我得到了“hd”。我不知道它是什么。我想它应该是“en”。

有人可以给我一个提示,为什么默认情况下它是“高清”,这是什么意思?

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。你在制作自己的Android版本吗?

当您使用屏幕密度作为PRODUCT_LOCALES的第一个参数时,正在发生这种情况。在我的产品mk文件中,PRODUCT_LOCALES的第一个参数是hdpi。我把它移到了最后,现在一切正常。 你可能遇到和我一样的问题。 Android构建过程采用PRODUCT_LOCALES中第一个单词的前两个字母,并将它们存储为默认语言。如果你有,像我一样,hdpi Android将“hd”作为默认语言!

我也在Android makefile中找到了这个评论,它完美地解释了这个问题:

屏幕密度实际上被视为区域设置(因为它被考虑在内) 构建时选择资源)。产品定义包括 这个文件必须注意最终的第一个条目 PRODUCT_LOCALES扩展不得为密度。