我的应用支持3种语言,用户可以选择这些选项。 当我将设备区域设置更改为我支持的某种语言时,UI语言会自动更改,问题是如果用户已经在应用程序中选择了我支持的3种语言之一,我就不希望它更改。
如何阻止此自动语言更改?
答案 0 :(得分:0)
当用户在应用中选择它时,将语言环境保存到SharedPreference。并在代码中添加默认的支持区域设置。
String userLocale = App.getSharedPreferences().getString(SELECTED_LOCALE,"your_default_string");
在Application.class onCreate方法中添加以下块:
Locale locale = new Locale(userLocale) //
Resources resources = getResources();
Configuration configuration = resources.getConfiguration();
configuration.setLocale(locale);
答案 1 :(得分:0)
我所做的是更新我的偏好设置上的标记,以指示用户是否更改了语言并在活动onResume()
上检查其值以重新启动它。
On Activity onCreate()
我将语言更新为存储的首选项。