侧边栏壁纸
博主头像
Eoser's page! 博主等级

@学习@生活@自己

  • 累计撰写 114 篇文章
  • 累计创建 29 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Android-正确获取系统使用的语言

eoser
2023-03-23 / 0 评论 / 0 点赞 / 0 阅读 / 0 字

1.获取正确Locale对象

Android7.0以前

直接获取Locale对象就可以了

Locale locale = mContext.getResources().getConfiguration().locale;
或者
Locale locale = Locale.getDefault();

Android7.0以上

必须从LocaleList中获取第一个Locale对象 原因:7.0后,原生Android系统支持选择多种语言,存储的是一个表,默认的是第一个。 踩坑:做输入法时,根据系统语言切换字符集,用以前的方法获取,一直是英语,获取不到正确信息。 备注:做适配7.0以下的APP,加上下面注释的判断条件,与上面的代码一起使用。

Build.VERSION.SDK_INT >= Build.VERSION_CODES.N
Locale locale = LocaleList.getDefault().get(0);

2.利用Locale对象获取参数

locale.getLanguage();获取语言
locale.getCountry();获取国家
0

评论区