android– 当GSM返回’99’时如何确定信号强度?

android– 当GSM返回’99’时如何确定信号强度?,第1张

概述我们有一个内部Android应用程序,它是一个预先存在的JME应用程序的迁移.有一个问题是,当信号强度低时,该应用程序在尝试发送数据时,该应用程序正在抱怨应用程序耗尽设备电池(这是移动设备中的常见行为,而不是我们的直接问题)数据需要及时发送,但不能立即发送,因此我们在发送数据之

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

数据需要及时发送,但不能立即发送,因此我们在发送数据之前检查信号强度.此检查使用了PhonestateListener和onSignalStrengthsChanged(SignalStrength signalStrength)回调,这是其他许多类似的SO问题和文章所推荐的.

这在我自己的手机上运行(在澳大利亚Telstra上运行),SignalStrength.getGsmSignalStrength()按预期返回0-31的值.然而,在另一个网络(Optus Australia)上运行的电话上,它报告GSM为真,但在确定信号强度时返回99(即错误代码).我相信这仍然是正确的行为,因为GSM是2G数据,应该检查3G UMTS/HSPA. UMTS/HSPA是Elixir应用程序在手机上报告的网络,正如预期的那样.我们还有未经证实的报道称我的网络(Telstra Australia)报告GSM应用程序的数据不足以从应用程序发送数据,但能够浏览互联网并执行其他数据活动而不会出现问题.这让我相信无论如何都要检查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可能是错误的检查,我们需要尝试获取’实际数据传输网络强度’

解决方法:

在使用来自多个供应商和多个(澳大利亚) *** 作符的多个手机进行测试后,这种行为似乎特定于三星galaxy S2,并且在之前的版本(galaxy S)上没有出现.

总结

以上是内存溢出为你收集整理的android – 当GSM返回’99’时如何确定信号强度?全部内容,希望文章能够帮你解决android – 当GSM返回’99’时如何确定信号强度?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1118787.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存