强制 Android DateUtils.getRelativeDateTimeString() 忽略设备区域设置?

2024-05-11

我发现使用android.text.format.DateUtils返回“昨天”或“2 小时前”等值的相关 API 非常好 - 但我的应用程序并不支持 Android 所支持的每种语言。因此,我默认为英语,但对于我不支持的每种语言,相关字符串会显示在设备的设置中。

例如,像:

Last attempt: hace 11 minutos.

对于我不支持的任何语言,我希望将 API 调用默认设置为英语。但是,我没有看到任何地方可以设置 API 调用的区域设置 - 我希望我只是在某个地方错过了它。

有没有办法只为 API 调用设置区域设置,而忽略设备设置?


这对我来说适用于 Android 7

  void forceLocale(Locale locale) {
    Configuration conf = getBaseContext().getResources().getConfiguration();
    updateConfiguration(conf, locale);
    getBaseContext().getResources().updateConfiguration(conf, getResources().getDisplayMetrics());

    Configuration systemConf = Resources.getSystem().getConfiguration();
    updateConfiguration(systemConf, locale);
    Resources.getSystem().updateConfiguration(conf, getResources().getDisplayMetrics());

    Locale.setDefault(locale);
  }

  void updateConfiguration(Configuration conf, Locale locale) {
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1){
      conf.setLocale(locale);
    }else {
      //noinspection deprecation
      conf.locale = locale;
    }
  }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

强制 Android DateUtils.getRelativeDateTimeString() 忽略设备区域设置? 的相关文章

随机推荐

  • 是否有用于 AES 的纯 Perl 模块?

    是否有用于 AES 的纯 Perl 模块 地穴 Rijndael PP http search cpan org dist Crypt Rijndael PP Rijndael 是底层算法AES https secure wikimedia
  • 如何在 Scala 中编写 Pig UDF

    我正在尝试在 Scala 中编写 Pig UDF 使用 Eclipse 我已将 pig jar 添加为 java 构建路径中的库 这似乎解决了以下 2 个导入问题 导入 org apache pig EvalFunc 导入 org apac
  • Docker:通过 CLI 使用 --password 是不安全的。使用--密码-stdin

    当我在持续集成 CI 过程中登录注册表时 出现以下警告 WARNING Using password via the CLI is insecure Use password stdin 我应该更换吗 password with passw
  • 在布局中添加空格

    我正在尝试在 android 中创建空行 这就是我一直在做的事情 android layout width fill parent android layout height wrap content android text n n 我想
  • 从 exe 文件中获取汇编级代码?

    我当时正在做linux汇编编程 在过去的几天里我已经转而学习windows汇编编程 我在用ml作为我的汇编器和golink作为我的链接器 我有我的汇编代码并已获得我的exe从中 现在我需要取回它的十六进制 xff xab x55等等 在li
  • 删除 Swift 3 中 Core Data 实体中的所有数据

    有没有办法批量删除核心数据中所有实体中存储的所有数据 我在某处读到 在 iOS 9 或 10 中 苹果引入了一种批量删除的方法 但我似乎找不到任何关于它的好信息 最终 我只需要一个遍历实体并删除其中所有数据的函数 看起来它应该很简单 但事实
  • 如何在 Debian 上编译 DOS 程序?

    在我的汇编语言课程中 我们使用 DPMI 编写 DOS 程序 不幸的是 我无法一直使用 32 位 Windows 机器 我在我使用的几乎每台计算机上都安装了 Debian 虚拟机 我已经安装了 DOSBox 和 DOSEMU 有什么办法可以
  • 如何使用python正则表达式查找并替换句子中第n次出现的单词?

    仅使用python正则表达式 如何查找并替换句子中第n次出现的单词 例如 str cat goose mouse horse pig cat cow new str re sub r cat r Bull str new str re su
  • 为什么 cross_val_predict 比 KNeighborsClassifier 的拟合慢得多?

    在 Jupyter 笔记本上本地运行并使用 MNIST 数据集 28k 条目 每个图像 28x28 像素 以下内容为27秒 from sklearn neighbors import KNeighborsClassifier knn clf
  • 如何保护我的网站免遭 HTTrack 或其他软件的翻录?

    我最近获得了批准的网站模板主题森林 http themeforest net 我的网站流量过多 并注意到我在 Themeforest 上的演示被 HTTrack 等某些软件破坏 如果这种情况持续下去 该产品的销量最终可能会下降 那么 有什么
  • “mov (%ebx,%eax,4),%eax”如何工作? [复制]

    这个问题在这里已经有答案了 一直在从事装配作业 并且在很大程度上我对装配非常了解 或者至少对于这项任务来说足够好 但这个 mov 的声明让我很困惑 如果有人能解释这个 mov 语句如何操作寄存器值 我将非常感激 mov ebx eax 4
  • 我们在Asp.net 5 Core中使用哪种加密算法

    目前 当我将项目类型从 Asp net 5 0 切换到 Asp net 5 0 Core 时 几乎所有加密算法都开始出现错误 这是因为它们都需要 System Security Cryptography 命名空间 而这在 Core 5 0
  • 强制jvm返回本机内存[重复]

    这个问题在这里已经有答案了 我时不时地运行需要大量内存的 eclipse 任务 因此 当任务运行时 jvm 会消耗大约 2 3GB 的 RAM 这是可以的 但是一旦 jvm 占用了该内存 它就不会释放它 并且我遇到了一种情况 堆中已用内存约
  • 为什么 ops::Range 不实现 Copy,即使 T 是 Copy?

    最近 我想编写一个保存 3D 投影参数的类型 use std ops Range derive Clone Copy struct CamProj Near and far plane proj range Range
  • 矩阵方括号

    我正在使用 Java Swing 我需要显示一个带有方括号的矩阵 普通方括号就像我们在数学中使用的跨多行的方括号 矩阵大小不固定 它取决于输入 这是我用来显示矩阵的代码 public static void printMatrix Stri
  • 如何使用与号 (&) 替换匹配模式中的字符

    当我们使用 sed 匹配模式时 匹配的模式存储在 变量中 有没有办法使用 符号本身替换此匹配模式中的字符 例如 如果 包含字符串 apple1 我如何使用 将字符串转换为 apple2 即将 1 替换为 2 如果我猜对了 您要做的就是在匹配
  • 从项目文件加载图像

    我正在尝试获取 png 图像 这是我的资源文件夹 我测试了这里写的解决方案 将图像添加到列表框 c Windows Phone 7 https stackoverflow com questions 9348766 add images t
  • 未指定authenticationScheme,并且没有使用默认身份验证和自定义授权找到DefaultChallengeScheme

    我有一个 NET Core 2 0 应用程序 并且遇到授权问题 我想针对特殊请求使用自定义授权 标头和标准默认身份验证 首先 我在中添加配置Startup cs public IServiceProvider ConfigureServic
  • 游标与更新

    一家公司使用 SQL Server 数据库来存储有关其客户及其业务交易的信息 您所在的城市引入了新的区号 对于前缀小于 500 的电话号码 区号 111 保持不变 前缀为 500 及以上的号码将分配区号 222 客户表中电话列中的所有电话号
  • 强制 Android DateUtils.getRelativeDateTimeString() 忽略设备区域设置?

    我发现使用android text format DateUtils返回 昨天 或 2 小时前 等值的相关 API 非常好 但我的应用程序并不支持 Android 所支持的每种语言 因此 我默认为英语 但对于我不支持的每种语言 相关字符串会