工具类 LanguageUtil.kt
@SuppressLint("PrivateApi", "DiscouragedPrivateApi")
fun setLanguage(mLocale: Locale) {
try {
val localPicker = Class.forName("com.android.internal.app.LocalePicker")
val updateLocale = localPicker.getDeclaredMethod("updateLocale", Locale::class.java)
updateLocale.invoke(null, mLocale)
} catch (e: ClassNotFoundException) {
e.printStackTrace()
}
}
MainActivity.kt
try {
val locale = Locale(languageCode, countryCode)
LanguageUtil().setLanguage(locale);
result.success(true);
}catch (e:Exception){
Log.e(debugLogTag, "Unknown Exception" + e.toString())
result.success(false)
}
语言种类
//英文 简体中文 俄语 西班牙语 越南语 韩语 土耳其语 意大利语 葡萄牙语
private final String[] mConuntry = {"en","zh","ru","es","vi","ko","tr","it","pt"};
private final String[] mCode = {"US","CN","RU","ES","VN","KR","TR","IT","BR"};
调用
SystemConfig.setSystemLanguage("zh", "CN");