-1

我通过以下帖子获得了android中的信号强度:

如何在 Android 中获取手机服务信号强度?

我的问题是:信号强度如何更新到系统 UI。力量计中的每个条表示什么?每个柱是否有特定的阈值?

4

2 回答 2

2

信号强度图标由 SystemUI 控制。在其他 Android 版本中可能会有所不同,但在 KitKat 中,NetworkController.java该类处理显示的图标。SignalStrength.java是返回NetworkController.java当前信号强度的类。信号强度表示为介于 0(无信号)和 4(良好信号)之间的数字。实际信号以 dBm 为单位,并从Android 框架SignalStrength.java的(低级)无线电接口层 (RIL)作为 Parcel 传递到类中。实际阈值因所使用的不同无线电技术而异。

于 2014-09-17T07:47:48.433 回答
1

中的getGsmLevel()函数在SignalStrength.java这里起到了作用:

int level;
int asu = getGsmSignalStrength();
if (asu <= 2 || asu == 99) level = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
else if (asu >= 12) level = SIGNAL_STRENGTH_GREAT;
else if (asu >= 8)  level = SIGNAL_STRENGTH_GOOD;
else if (asu >= 5)  level = SIGNAL_STRENGTH_MODERATE;
else level = SIGNAL_STRENGTH_POOR;

这个函数返回level

于 2014-09-17T09:27:34.150 回答