【问题标题】:What are the possible input values of numLevels Wifimanager.calculateSignalLevel method?numLevels Wifimanager.calculateSignalLevel 方法的可能输入值是多少?
【发布时间】:2014-07-21 11:24:00
【问题描述】:

/** * 计算信号的电平。这应该在任何时候使用信号 * 正在显示。 * * @param rssi 以 RSSI 测量的信号功率。 * @param numLevels 计算中要考虑的级别数 * 等级。 * @return 信号的一个电平,范围为 0 到 numLevels-1 *(均包括在内)。 */

public static int calculateSignalLevel(int rssi, int numLevels) {
    if (rssi <= MIN_RSSI) {
        return 0;
    } else if (rssi >= MAX_RSSI) {
        return numLevels - 1;
    } else {
        float inputRange = (MAX_RSSI - MIN_RSSI);
        float outputRange = (numLevels - 1);
        return (int)((float)(rssi - MIN_RSSI) * outputRange / inputRange);
    }
}

谁能解释一下 numLevels 参数的输入是什么? 我需要根据此方法的输出显示 Wifi 信号强度,如“好、更好、最好”。请帮助我!!

【问题讨论】:

    标签: android signals wifimanager rssi


    【解决方案1】:

    numLevels 实际上是您希望评估 wifi 信号强度的级别数。例如,选择

    int numLevels = 5;
    int strength = calculateSignalLevel(rssi, numLevels);
    

    将为您提供从 0 到 4 的输出范围(如 numbLevels - 1 = 4),其中 4 是最强的。

    由于您想在“好”、“更好”和“最佳”等级上评估信号强度,您应该输入3 作为您的numLevels 参数。

    【讨论】:

      猜你喜欢
      • 2022-01-25
      • 2012-11-06
      • 2021-08-06
      • 2018-03-12
      • 2013-11-30
      • 1970-01-01
      • 2021-10-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多