有什么方法可以从 Android 设备获取系统安装的语言环境。我尝试使用来自 android Get Available locales 的 getAvailableLocales ()
,但它不适用于 Asus、Carbon、Lava、Intex 等设备。
例如,如果我在 Nexus 设备中调用 getAvailableLocales()
,我可以获取位于 Settings-> Language&Input -> Language
中的区域设置
但是如果我在任何 Carbon 设备上做同样的事情,而不是从 Settings-> Language&Input -> Language
获取语言,我会得到一个不同的列表。
我只想要设备中已安装的语言列表,而不是操作系统支持的所有语言。
最佳答案
如果你想要系统支持的语言环境,使用
Locale.getAvailableLocales()
如果你想要系统支持和设备启用的语言环境
Resources.getSystem().getAssets().getLocales()
通过使用第一个,您无法确定该设备是否支持所有语言环境。因为他们都附带了那个 Android ROM。
但后者始终是必杀技。 因为它只提供为该特定设备安装的所有语言环境(字体)。这些语言环境(字体)由该设备制造商放置。
我在 here 中解释了更多
关于Android 如何获取系统已安装的语言环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35579288/