##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

更多相关文章

  1. android 中的url操作
  2. Android(安卓)教你如何通过 LocationManager 获取得到当前位置坐
  3. Android版本更新实现
  4. android中ContactsContract获取联系人的方法
  5. Android获取当前位置经纬度(非第三方地图集成)
  6. Android(安卓)Volley 库通过网络获取 JSON 数据
  7. Android(安卓)技巧记录
  8. Android传感器编程入门(二)
  9. Android(安卓)AIDL接口定义语言

随机推荐

  1. Android中实现应用程序的国际化与本地化
  2. Android手机开发:android:layout_weight属
  3. Android(安卓)SearchView和ListView的结
  4. 在qemu的beagleboard上运行android
  5. android gen 目录消失
  6. 转:Android电话系统之概述篇
  7. MAC下Android(安卓)Studio 1.4编译构建Co
  8. Android(安卓)启动引导页(动态生成底部导
  9. Android应用优化(7)数据库操作
  10. android 自定义控件(底部icon点击效果)