从Android 12开始,现在有一种新的推荐方式来实现Splash Screen
更新:由于我的 BaseActivity 中的以下代码,活动不断被破坏:
protected void onResume() {
super.onResume();
loadLocale();
}
private void loadLocale(){
PreferenceHelper preferenceHelper = new PreferenceHelper(this);
Locale locale = preferenceHelper.getLocale();
Configuration config = getBaseContext().getResources().getConfiguration();
if (!config.locale.equals(locale)) {
Locale.setDefault(locale);
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
Resources.getSystem().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
restartActivity();
}
}
由于某种原因,updateConfiguration 实际上并未更新运行 Android 14 的三星设备上的配置。因此 loadLocale 不断重新启动 Activity,因为它认为区域设置永远不匹配。我尝试使用 createConfigurationContext 和 Wrappers 因为 updateConfiguration 已被弃用,但似乎都不起作用。我刚刚注释掉了重新启动活动以解锁用户的行。我稍后会调查为什么配置没有更新。