当前位置: 首页 > 知识库问答 >
问题:

场所getDefault()在一些Android设备上已经过时

施利
2023-03-14

我的应用程序中有一个广播接收器,当设备的区域设置发生变化时,它会被调用。我的应用在一些设备上有一个bug,特别是Nexus 5x和Galaxy S8(很可能还有其他设备)。getDefault()返回过时/以前的值。新语言的本地化字符串显示正确,但在应用程序内部,我们的语言环境已经过时。有什么想法吗?

ex:

<代码>1)设备是英文的-

2)设置应用程序背景,并将设备语言更改为德语

3)应用程序接收区域设置更改的广播事件,区域设置。getDefault()返回英语而不是德语

我看到很多设备的德语版本都被退回来了,但不是所有的设备。

共有1个答案

慕云
2023-03-14

如另一个答案所述,默认语言环境是在创建应用程序时静态定义的。尝试直接从资源中检索区域设置。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N){
    return getResources().getConfiguration().getLocales().get(0);
} else{
    return getResources().getConfiguration().locale;
}
 类似资料:
  • 最近,我们在Android应用程序中增加了对Chromecast的支持,但在对各种移动设备(手机和平板电脑)的扩展测试中,发现在许多移动设备上,Flipps应用程序都没有发现Chromecast。在相同的设备上,我们使用了最新版本的官方Chromecast SDK演示应用程序进行测试,该应用程序从https://github.com/googlecast/castvideo-Android下载(主

  • 我的Android应用程序无法安装在一些“随机”、较旧的API设备上(任何低于API级别25的设备),错误如下: 所以,基本上看起来… API 我见过类似的问题,答案与小写的包名有关。我已经有了。 有人有什么想法吗? 舱单: BTW我用的是Visual Studio 2019和一夫一妻制3.7

  • 在某些Android设备中尝试在听筒上播放音频文件时似乎存在问题。预期的行为是它应该在听筒中播放音频文件,但在某些设备中,如三星Galaxy Note 2(Android版本4.4.2)和Sony Xperia XA(Android版本6.0),它通过扬声器播放它们。 然而,在摩托罗拉moto g(Android版本6.0)和nexus 5X(Android版本7.0)等设备中,它工作正常。 该应

  • 我想查找没有已配对设备的蓝牙设备。但是我的python脚本显示了我配对的设备上的蓝牙设备。如何只过滤打开的设备并忽略电脑中的配对设备,而不删除它们。 这是我的剧本

  • 我知道NFC是什么,它是如何工作的,但我不能理解如何使用这个问题。

  • 是否有其他方法启用它?