是否有一个android属性来禁用我的应用程序中的区域设置更改

时间:2016-06-18 06:52:54

标签: android android-manifest locale

当用户将系统区域设置从美国更改为中国时。我不想在我的应用程序中将语言从英语更改为中文,我希望我的应用程序的语言仍然是英语。

我可以通过在AndroidManifest.xml中设置android属性吗?

由于

3 个答案:

答案 0 :(得分:1)

如果您只希望中文xml保留在应用程序中但不打算使用它,则只需注释其所有内容,该应用程序将仅考虑英文字符串

答案 1 :(得分:0)

您可以使用以下代码根据您的要求维护区域设置

  Locale locale = new Locale("en");
  Locale.setDefault(locale);
  Configuration config = new Configuration();
  config.locale = locale;
  getBaseContext().getResources().updateConfiguration(config,
  getBaseContext().getResources().getDisplayMetrics());

答案 2 :(得分:0)

我认为最好这样做一次并将您的代码放在应用程序类中

    public class MyApplication extends Application {

    @Override
    protected void attachBaseContext(Context base) {
        Resources res = base.getResources();

        Locale locale = new Locale("en");
        Locale.setDefault(locale);

        Configuration config = new Configuration();
        config.locale = locale;

        res.updateConfiguration(config, res.getDisplayMetrics());

        super.attachBaseContext(base);
    }
}