gpt4 book ai didi

android - GSM返回 '99'时如何判断信号强度?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:07:58 27 4
gpt4 key购买 nike

我们有一个内部 Android 应用程序,它是一个预先存在的 JME 应用程序的迁移。存在一个问题,现场用户提示该应用程序在信号强度较低时尝试发送数据时会耗尽设备电池(这是移动设备中的常见行为,而不是我们的直接问题)

数据需要及时发送,但不是立即发送,所以我们在发送数据之前检查了信号强度。此检查使用了 PhoneStateListeneronSignalStrengthsChanged(SignalStrength signalStrength) 回调,正如许多类似的 SO 问题和其他文章所推荐的那样。

这在我自己的手机(在 Telstra Australia 上运行)和 SignalStrength 上运行良好.getGsmSignalStrength() 按预期返回 0-31 中的值。然而,在另一个网络(Optus Australia)上运行的电话上,它报告 GSM 是真实的,但在确定信号强度时返回 99(即错误代码)。我相信这仍然是正确的行为,因为 GSM是2G数据,是3G UMTS/HSPA应该检查一下。 UMTS/HSPA正如预期的那样,是手机上的 Elixir 应用程序报告的网络。我们还有未经证实的报告称,我的网络(Telstra Australia)报告 GSM 强度不足以从应用程序发送数据,但能够毫无问题地浏览互联网和执行其他数据 Activity 。这让我相信无论如何检查 GSM 强度都是错误的。

我正在同一网络上的其他 Android 手机上运行测试(仍在尝试访问某些设备),但我们确实能够浏览互联网并从我们的应用程序发送 (HTTP) 数据,如果我们检查信号强度并始终收到“99”,它就会失败。在 Optus 上,SignalStrength.toString() 总是在针对多个塔进行几天测试后返回 99 -1 -1 -1 -1 -1 -1 gsm 3

最近的(未回答的)SO 线程是这个:Getting Signal Strength RSCP and Ec/Io from a phone served by a HSPA network

总结:

  • Telstra 连接报告 GSM 为真并返回可用的信号强度
  • Optus 连接报告 GSM 为真,但始终报告“99”
  • 无论如何,GSM 可能是错误的检查对象,我们需要尝试获取“实际数据传输网络强度

最佳答案

在对来自多个供应商和多个(澳大利亚)运营商的多部手机进行测试后,这种行为似乎是 Samsung Galaxy S2 特有的,并且在之前的版本 (Galaxy S) 上没有出现。

关于android - GSM返回 '99'时如何判断信号强度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7396142/

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