【问题标题】:How to get WI-FI signal strength in percantage from Scan Network?如何从扫描网络获取 WIFI 信号强度百分比?
【发布时间】:2026-01-23 04:40:01
【问题描述】:

我需要扫描 Wifi 网络。

我如何getRssi() 的 WiFi 扫描网络(未连接 wi-fi 网络)

        int level = WifiManager.calculateSignalLevel(wifi.getConnectionInfo().getRssi(),
                        results.get(i).level);
                int difference = level * 100 / results.get(i).level;

【问题讨论】:

    标签: java android wifi rssi


    【解决方案1】:

    好的,试试这个看看信号强度

        WifiManager manager;
        manager = (WifiManager) getSystemService(WIFI_SERVICE);
        List<ScanResult> results = manager.getScanResults();
        int level = getPowerPercentage(results.get(0).level);//0 for first scan result and so on.
    

    求信号强度的方法

        public int getPowerPercentage(int power) {
        int i = 0;
        int MIN_DBM = -100;
        if (power <= MIN_DBM) {
            i = 0;
        } else {
            i = 100 + power;
        }
    
        return i;
    }
    

    希望对您有所帮助。

    【讨论】:

    • 方法返回非常低的值。我不确定那是真的。但也许我们需要这样的东西int level = 100 - getPowerPercentage(results.get(0).level);