【问题标题】:Disable some configurations for the app (for example locales)禁用应用程序的某些配置(例如语言环境)
【发布时间】:2014-03-18 23:04:19
【问题描述】:

如何让我的应用忽略某些配置,例如设备的语言(强制应用使用默认字符串)

为了更好地理解这就是具体问题:

我有一个 Android 库项目,其中包含 strings.xml 文件中的一些字符串

该库有 englishgermanfrenchspanish 的字符串。

我想在应用程序中使用该库,但该应用程序仅支持 englishgerman 所以我想忽略 中的库项目提供的字符串>法语西班牙语以避免部分翻译

如果没有神奇的解决方法,这可能吗?

谢谢

【问题讨论】:

  • 如果Locale 不受支持,您可以在启动时手动覆盖它。在普通 Java 中很容易,对 Android 不确定。
  • 从您的库副本中删除您不想要的字符串资源。作为奖励,您的 APK 会小一些。

标签: java android


【解决方案1】:

您可以使用此代码获取系统区域设置

Locale.getDefault().getLanguage();

您可以检查它是法语还是西班牙语,然后您可以强制执行您自己的语言环境,无论是英语还是德语

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

部分代码取自Set Locale programmatically

【讨论】:

    【解决方案2】:

    当您将应用发布到市场时,您可以选择要运送到哪些市场。

    【讨论】:

      猜你喜欢
      • 2018-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-01
      • 2022-01-22
      • 1970-01-01
      • 2016-05-02
      • 1970-01-01
      相关资源
      最近更新 更多