stylder / react-native-wifi

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

react-native-android-wifi

Un módulo nativo de reacción para ver y conectarse a redes Wifi en dispositivos Android.

Made by Santiago García Cabral

example app

Instalación

Agrégalo a tu proyecto de Android

npm install react-native-android-wifi --save

Instale las dependencias nativas

Utilice el enlace react-native para instalar dependencias nativas automáticamente:

react-native link react-native-android-wifi

Ejemplo de usp

import wifi from 'react-native-android-wifi';

Permisos: a partir de la API de Android 25, las aplicaciones deben tener el permiso ACCESS_COARSE_LOCATION (o ACCESS_FINE_LOCATION) para obtener resultados.

try {
      const granted = await PermissionsAndroid.request(
        PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
        {
          'title': 'Redes wifi',
          'message': 'Necesitamos su permiso para encontrar redes wifi'
        }
      )
      if (granted === PermissionsAndroid.RESULTS.GRANTED) {
        console.log("¡Gracias! :)");
      } else {
        console.log("No podrá recuperar la lista de redes wifi disponibles");
      }
    } catch (err) {
      console.warn(err)
    }

Estado de la conectividad wifi:

wifi.isEnabled((isEnabled) => {
  if (isEnabled) {
    console.log("wifi service enabled");
  } else {
    console.log("wifi service is disabled");
  }
});

Activar / desactivar el servicio wifi:

wifi.setEnabled(true);

Iniciar sesión en el dispositivo en una red específica:

Este método no tiene una devolución de llamada cuando la conexión se realizó correctamente, verifique este problema. Se agregó soporte para el modo de seguridad wifi 'WPA2 PSK' y manejo de SSID para Lollipop y Kitkat.

wifi.findAndConnect(ssid, password, (found) => {
  if (found) {
    console.log("wifi is in range");
  } else {
    console.log("wifi is not in range");
  }
});

Desconectarse de la red wifi actual

wifi.disconnect();

Obtener SSID actual

wifi.getSSID((ssid) => {
  console.log(ssid);
});

Obtener BSSID actual

wifi.getBSSID((bssid) => {
  console.log(bssid);
});

Obtenga todas las redes wifi a su alcance

/*
wifiStringList is a stringified JSONArray with the following fields for each scanned wifi
{
  "SSID": "El nombre de la red", 
  "BSSID": "La dirección del punto de acceso", 
  "capabilities": "Describe los esquemas de autenticación, administración de claves y cifrado admitidos por el punto de acceso",
  "frequency": "La frecuencia primaria de 20 MHz (en MHz) del canal por el que el cliente se está comunicando con el punto de acceso ",
  "level":" El nivel de señal detectado en dBm, también conocido como RSSI. (Recuerde que es un valor negativo) ", 
  "timestamp": "Marca de tiempo en microsegundos (desde el inicio) cuando se vio este resultado por última vez"
}
*/
wifi.loadWifiList((wifiStringList) => {
  var wifiArray = JSON.parse(wifiStringList);
    console.log(wifiArray);
  },
  (error) => {
    console.log(error);
  }
);

connectionStatus devuelve verdadero o falso dependiendo de si el dispositivo está conectado a wifi

wifi.connectionStatus((isConnected) => {
  if (isConnected) {
      console.log("is connected");
    } else {
      console.log("is not connected");
  }
});

Conecta la intensidad de la señal wifi

wifi.getCurrentSignalStrength((level) => {
  console.log(level);
});

Conecta la frecuencia wifi

wifi.getFrequency((frequency) => {
  console.log(frequency);
})

Obtener IP actual

wifi.getIP((ip) => {
  console.log(ip);
});

Obtener la dirección del servidor DHCP

wifi.getDhcpServerAddress((ip) => {
  console.log(ip);
});

Eliminar / Olvidar la red Wifi del móvil por SSID, devuelve booleano Este método eliminará la red wifi según el SSID pasado de la lista de dispositivos.

wifi.isRemoveWifiNetwork(ssid, (isRemoved) => {
  console.log("Forgetting the wifi device - " + ssid);
});

Inicia el escaneo de la red wifi nativa de Android y la lista de devoluciones Actualiza de forma dura el escaneo wifi de Android, implementado BroadcastReceiver para garantizar que detecta automáticamente las nuevas conexiones wifi disponibles.

wifi.reScanAndLoadWifiList((wifiStringList) => {
  var wifiArray = JSON.parse(wifiStringList);
  console.log('Detected wifi networks - ',wifiArray);
},(error)=>{
  console.log(error);
});

Método para forzar el uso de wifi. Android de forma predeterminada envía todas las solicitudes a través de datos móviles si el wifi conectado no tiene conexión a Internet.

wifi.forceWifiUsage(true);

Método para obtener el estado de conexión de una red forzada (porque lleva algún tiempo configurarla).

wifi.connectionStatusOfBoundNetwork((isBound) => {
    if (isBound) {
        console.log('Network is bound');
    } else {
        console.log('Network isn\'t bound');
    }
});

Agregue una red wifi oculta y conéctese a ella.

wifi.connectToHiddenNetwork(ssid, password, (networkAdded) => {});

About


Languages

Language:JavaScript 45.9%Language:Java 25.3%Language:Objective-C 17.9%Language:Starlark 7.7%Language:Ruby 3.2%