获取设备中的当前语言

我们如何才能在Android设备中选择当前语言?



Qyouu
浏览 728回答 3
3回答

www说

如果您想获得设备的选定语言,这可能对您有所帮助:Locale.getDefault().getDisplayLanguage();

忽然笑

我在Android 4.1.2设备上检查了Locale方法,结果如下:Locale.getDefault().getLanguage()       ---> en      Locale.getDefault().getISO3Language()   ---> eng Locale.getDefault().getCountry()        ---> US Locale.getDefault().getISO3Country()    ---> USA Locale.getDefault().getDisplayCountry() ---> United States Locale.getDefault().getDisplayName()    ---> English (United States) Locale.getDefault().toString()          ---> en_USLocale.getDefault().getDisplayLanguage()---> English

白猪掌柜的

对我有用的是:Resources.getSystem().getConfiguration().locale;Resource.getSystem()返回一个全局共享的Resources对象,该对象仅提供对系统资源的访问(没有应用程序资源),并且没有为当前屏幕配置(不能使用维度单位,不会根据方向更改等)。由于getConfiguration.locale现已弃用,因此在Android Nougat中获取主要语言环境的首选方法是:Resources.getSystem().getConfiguration().getLocales().get(0);为了保证与以前的Android版本的兼容性,可能的解决方案是一个简单的检查:Locale locale;if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {    locale = Resources.getSystem().getConfiguration().getLocales().get(0);} else {    //noinspection deprecation    locale = Resources.getSystem().getConfiguration().locale;}更新从支持库开始,26.1.0您不需要检查Android版本,因为它提供了向后兼容的方便方法getLocales()。只需致电:ConfigurationCompat.getLocales(Resources.getSystem().getConfiguration());
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android