Android 清除应用程序数据后,设备区域设置设置为en_us
我有一个本地化的字符串资源a。我注意到,在清除应用程序数据/缓存(在设置下)并打开我的活动(属于该应用程序)后,无论当前设备语言如何,我总是在en locale中看到资源a。如果我再次转到设置,手动将设备语言更改为任意语言,然后返回到我的活动,那么资源A将再次正确本地化Android 清除应用程序数据后,设备区域设置设置为en_us,android,android-resources,Android,Android Resources,我有一个本地化的字符串资源a。我注意到,在清除应用程序数据/缓存(在设置下)并打开我的活动(属于该应用程序)后,无论当前设备语言如何,我总是在en locale中看到资源a。如果我再次转到设置,手动将设备语言更改为任意语言,然后返回到我的活动,那么资源A将再次正确本地化 我想知道为什么在清除应用程序数据/缓存后将区域设置设置为默认值,有没有办法解决这个问题?谢谢。这是一个黑客解决方案,但您可以在launcher活动中设置区域设置,如下所示: Configuration config = res.
我想知道为什么在清除应用程序数据/缓存后将区域设置设置为默认值,有没有办法解决这个问题?谢谢。这是一个黑客解决方案,但您可以在launcher活动中设置区域设置,如下所示:
Configuration config = res.getConfiguration();
Configuration configuration = new Configuration();
config.locale = config.locale;
getBaseContext().getResources().updateConfiguration(configuration,
getBaseContext().getResources().getDisplayMetrics());
您还可以检查设备区域设置,以绝对确保设备区域设置已更改。我认为,您需要在应用程序启动时设置区域设置。我如何才能做到这一点?我以为应用程序区域设置总是与设备设置中的语言集同步,但它不是这样工作的?你能告诉我你支持什么语言吗?我的应用程序支持en、fr、de、es、zh、ja。