Android获取语言及地区总结
16lz
2021-12-04
##Android获取语言及地区总结
Android中获取的地区是语言地区,它是随着系统语言的改变而改变的
获取语言和地区分为两种:
获取系统语言和获取当前资源语言
###获取系统语言:
//Android 7.0以前Locale locale = Locale.getDefault();Log.d("------------"+locale.getLanguage() + "-" + locale.getCountry());//Android 7.0以后 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { LocaleListCompat listCompat=ConfigurationCompat.getLocales(Resources.getSystem().getConfiguration()); for (int i = 0; i < listCompat.size(); i++) { AppLog.d(i + " ------1> " + listCompat.get(i).getLanguage() + "-" + listCompat.get(i).getCountry()); } }
###获取当前资源配置的语言:
Locale locale = getResources().getConfiguration().locale;
Log.d("------------"+locale.getLanguage() + “-” + locale.getCountry());
但是,在 Android 7.0 上:getResources().getConfiguration().locale 被标记为 deprecated 了,所以初步适配后是:
Locale locale;if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { locale = getResources().getConfiguration().getLocales().get(0);} else { locale = getResources().getConfiguration().locale;}
//或者仅仅使用 locale = Locale.getDefault(); 不需要考虑接口 deprecated(弃用)问题
String lang = locale.getLanguage() + “-” + locale.getCountry();
###参考
https://likfe.com/2017/05/10/android-sys-language/
https://www.jishux.com/p/3e7b32b1d4d8693a
更多相关文章
- android 中的url操作
- Android(安卓)教你如何通过 LocationManager 获取得到当前位置坐
- Android版本更新实现
- android中ContactsContract获取联系人的方法
- Android获取当前位置经纬度(非第三方地图集成)
- Android(安卓)Volley 库通过网络获取 JSON 数据
- Android(安卓)技巧记录
- Android传感器编程入门(二)
- Android(安卓)AIDL接口定义语言