gpt4 book ai didi

android - 在 Android 上检测 WCDMA 和 HSDPA

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

我有一个在 Android 1.6+ 版本上运行的应用程序,需要检测网络类型。

不过,我遇到了 HSDPA 和 WCDMA 的问题 - 前者在 API 版本 5+ 中只有 TelephonyManager#getNetworkType 的定义常量,而后者似乎根本没有。

有谁知道在 Android 2.0 之前和之后这些网络类型上的电话会为 TelephonyManager#getNetworkType 返回什么? (我假设在 2.0+ 的 HSDPA 网络上它会返回适当的常量,但其余的似乎未定义...)

最佳答案

根据源代码为TelephonyManager class in Android 1.6 ,HSPDA 和 WCDMA 的返回值应为 NETWORK_TYPE_UNKNOWN (0)。

如果您查看 Telephony Manager class documentation 中定义的常量对于各种网络类型,您可以查看将每种网络类型引入 API 的时间:

HSPDA:API 版本 5+
WCDMA:(未记录)

基于我在 WCDMA 上阅读的维基百科内容,它也被称为 UMTS,这意味着 WCDMA 手机将返回 NETWORK_TYPE_UMTS (3)。

总结

高速数据传输:

  • 在 API 版本 4 (Android <= 1.6) 中返回 NETWORK_TYPE_UNKNOWN (0)
  • 在 API 版本 5+ (Android 2.0+) 中返回 NETWORK_TYPE_HSDPA (8)

WCDMA:

  • 自 API 版本 1 起返回 NETWORK_TYPE_UMTS (3)

编辑

我还应该指出,由于 Android 是开源的,因此手机供应商可能已经覆盖了这些值和功能,因此它们可能会偏离主干版本。

关于android - 在 Android 上检测 WCDMA 和 HSDPA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5180679/

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