gpt4 book ai didi

Android MNC API 差异 : Configuration. mnc/TelephonyManager.getSimOperator()

转载 作者:行者123 更新时间:2023-11-29 01:42:10 25 4
gpt4 key购买 nike

我目前正在开发一款应用,该应用需要摩洛哥特定网络运营商的不同资源。该运营商的 MNC 为“00”。根据文档,我因此使用了资源限定符,例如:

  • drawable-mcc604-mnc00
  • drawable-mcc604-mnc00-hdpi
  • 等等

但是,当我在该网络运营商的设备上试用该应用程序时,资源限定符不起作用:资源仍然是“默认”资源。

所以我进一步深入挖掘,发现了一种行为,据我所知,这似乎很不可思议。据我所知,SDK 提供了两种获取 MNC 的方法:通过配置 API 或通过 TelephonyManager API。

  • 通过配置 API:字段 mnc 为 0(而不是所谓的 MNC_ZERO),根据文档,它本身不是“0”,而是未定义的(尽管字段 mcc 是 604,这是正确的)<
  • 通过 TelephonyManager API:getSimOperator() 方法返回 100% 正确的“60400”

所以它提出了几个问题:

  1. 为什么这些 API(在语义上看起来相同)有不同的结果?
  2. 为什么 Configuration.mnc 字段是 int 而不是 String?因为我不确定如何在 int 字段中表示“00”……或者如何区分“00”和“000”,甚至是“01”和“001”,它们都是有效的不同的 MNC 值(value)观。
  3. 最重要的是,在决定是使用默认资源还是合格资源时,Android 依赖于这些 API 中的哪一个(如果不是第三个)?

    • 注意 1:我用另一个特定的运营商网络测试了同样的东西,它工作正常,所以 MNC“00”似乎是这里的主要问题
    • 注意 2:我正在法国进行测试,因此我处于漫游状态

提前感谢您的提醒。

最佳答案

关于Android MNC API 差异 : Configuration. mnc/TelephonyManager.getSimOperator(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23867984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com