我使用Locale.getDefault.getDisplayLanauge()来获取语言代码,但我得到了“hd”。我不知道它是什么。我想它应该是“en”。
有人可以给我一个提示,为什么默认情况下它是“高清”,这是什么意思?
答案 0 :(得分:1)
我遇到了同样的问题。你在制作自己的Android版本吗?
当您使用屏幕密度作为PRODUCT_LOCALES的第一个参数时,正在发生这种情况。在我的产品mk文件中,PRODUCT_LOCALES的第一个参数是hdpi。我把它移到了最后,现在一切正常。 你可能遇到和我一样的问题。 Android构建过程采用PRODUCT_LOCALES中第一个单词的前两个字母,并将它们存储为默认语言。如果你有,像我一样,hdpi Android将“hd”作为默认语言!
我也在Android makefile中找到了这个评论,它完美地解释了这个问题:
屏幕密度实际上被视为区域设置(因为它被考虑在内) 构建时选择资源)。产品定义包括 这个文件必须注意最终的第一个条目 PRODUCT_LOCALES扩展不得为密度。