tenga señal que programa para modo mejor jalar ingeniero hacer descargar como celular aumentar amplificador android android-wifi

que - descargar amplificador de señal wifi para android



Obteniendo fuerza de señal WiFi en Android (5)

Puedo obtener el nivel de señal WiFi en dBm usando el siguiente código.

for (ScanResult result : wifiScanResultList) { int signalLevel = result.level; }

Da valor negativo. Cuando vemos la configuración WiFi del sistema predeterminada y hacemos clic en la red WiFi conectada, da "Buena" o "Mala" como potencia de señal. ¿Cuál es el rango en el que podemos filtrar esos valores negativos como intensidad de señal "Buena" o intensidad de señal "Mala"?


Compruebe cómo se representan los valores de dBm para la potencia de la señal inalámbrica recibida.

Excelente> -50 dBm

Bueno -50 a -60 dBm

Regular -60 a -70 dBm

Débil <-70 dBm


Es un post viejo, pero esto podría ayudar a alguien ...

WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); int numberOfLevels = 5; WifiInfo wifiInfo = wifiManager.getConnectionInfo(); int level = WifiManager.calculateSignalLevel(wifiInfo.getRssi(), numberOfLevels);

Documentación: public static int calculaSignalLevel (int rssi, int numLevels)


Sí exactamente. Así es como se representan los valores de dBm para la potencia de la señal recibida. Aquí hay algunos detalles en Wikipedia.

-100 significa el valor más bajo (sin señal), y 0 significa una señal extremadamente buena (100%)


Ya tienes los niveles, así que te diré cómo clasificar ese wifi en alta, media o baja. Siguiente es el codigo

int level = result.level;

if (level <= 0 && level >= -50) { //Best signal } else if (level < -50 && level >= -70) { //Good signal } else if (level < -70 && level >= -80) { //Low signal } else if (level < -80 && level >= -100) { //Very weak signal } else { // no signals }


WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); // Level of a Scan Result List<ScanResult> wifiList = wifiManager.getScanResults(); for (ScanResult scanResult : wifiList) { int level = WifiManager.calculateSignalLevel(scanResult.level, 5); System.out.println("Level is " + level + " out of 5"); } // Level of current connection int rssi = wifiManager.getConnectionInfo().getRssi(); int level = WifiManager.calculateSignalLevel(rssi, 5); System.out.println("Level is " + level + " out of 5");