我通过以下帖子获得了android中的信号强度:
我的问题是:信号强度如何更新到系统 UI。力量计中的每个条表示什么?每个柱是否有特定的阈值?
信号强度图标由 SystemUI 控制。在其他 Android 版本中可能会有所不同,但在 KitKat 中,NetworkController.java
该类处理显示的图标。SignalStrength.java
是返回NetworkController.java
当前信号强度的类。信号强度表示为介于 0(无信号)和 4(良好信号)之间的数字。实际信号以 dBm 为单位,并从Android 框架SignalStrength.java
的(低级)无线电接口层 (RIL)作为 Parcel 传递到类中。实际阈值因所使用的不同无线电技术而异。
中的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