AppCompatDelegate.setApplicationLocales切换语言时Activity重启,配置无效
调用AppCompatDelegate.setApplicationLocales()时Activity异常重启问题
- 调用
AppCompatDelegate.setApplicationLocales()从系统默认语言切换至任意自定义语言时,Activity会强制重启,即使已在Activity配置中声明处理layoutDirection|locale配置变更。 - 该问题在Android 13系统上可复现,但从自定义语言(如
en、zh-cn)切换回系统默认语言时,不会触发Activity重启。
语言切换核心代码如下:
if (it.id != "[]") { AppCompatDelegate.setApplicationLocales( LocaleListCompat.forLanguageTags(it.id) ) // 问题触发位置 } else { AppCompatDelegate.setApplicationLocales( LocaleListCompat.getEmptyLocaleList() ) }
内容的提问来源于stack exchange,提问作者faizul726




