为了简便,开始是下面的写法,讲道理没问题....
/** * 判断是否是简体中文 */ public static boolean isZhRCN() { return Locale.getDefault().equals(Locale.SIMPLIFIED_CHINESE); }
然而三星不讲道理,三星S8,从英文切到简体中文,再调这个方法,会发现返回时false,打印locale会发现是zh_rCN_Hans,坑不坑~这里国家码和语言码分开判断就没问题.../** Useful constant for language. */ static public final Locale SIMPLIFIED_CHINESE = createConstant("zh", "CN");
/** * 判断是否是简体中文 */ public static boolean isZhRCN() { if (getLanguageCode(AppUtils.getContext()).equalsIgnoreCase("zh") && getCountryCode(AppUtils.getContext()).equalsIgnoreCase("cn") ) { return true; } return false; }