Está en la página 1de 2

Desarrollo Nativescript

Módulo 4 - Lectura: Datos de estado de la red

El módulo de conectividad contiene métodos de utilidad de conectividad para observar el tipo de


conexión y la disponibilidad.

Para controlar y monitorear la conectividad de Internet, se debe importar el módulo tns-core-


modules/connectivity:
import {
connectionType,
getConnectionType,
startMonitoring,
stopMonitoring
} from "tns-core-modules/connectivity";

Especificaciones de Android: en Android para acceder a cualquier información relacionada con la


conexión, necesitarás un permiso explícito del usuario. Para habilitar la solicitud de permiso, agrega
lo siguiente en app/App_Resources/Android/AndroidManifest.xml:
<uses-permission android: name = "android.permission.ACCESS_NETWORK_STATE" />

Usarás 3 métodos diferentes:


1. Con el método getConnectionType, puedes obtener el tipo de conexión a Internet actual.
2. El monitoreo del tipo de conexión se logra a través del método startMonitoring. Te informa
cambios en tiempo real en el tipo de conexión.
3. Con stopMonitoring dejas de monitorear el estado de conexión.

Observa el siguiente código de ejemplo que agregamos en un componente con un botón, en cuyo
evento tap invoca al método declarado a continuación:

monitoreando: boolean = false; // una variable para saber si estás monitoreando o no.

onMonitoreoDatos(): void {
const myConnectionType = getConnectionType();

switch (myConnectionType) {
case connectionType.none:
console.log("Sin Conexion");
break;
case connectionType.wifi:
console.log("WiFi");
break;
case connectionType.mobile:
console.log("Mobile");
break;
case connectionType.ethernet:
console.log("Ethernet"); // es decir, cableada
break;
case connectionType.bluetooth:
console.log("Bluetooth");
break;
default:
break;
}

this.monitoreando = !this.monitoreando;

if (this.monitoreando) {
startMonitoring((newConnectionType) => {
switch (newConnectionType) {
case connectionType.none:
console.log("Cambió a sin conexión.");
break;
case connectionType.wifi:
console.log("Cambió a WiFi.");
break;
case connectionType.mobile:
console.log("Cambió a mobile.");
break;
case connectionType.ethernet:
console.log("Cambió a ethernet.");
break;
case connectionType.bluetooth:
console.log("Cambió a bluetooth.");
break;
default:
break;
}
});
} else {
stopMonitoring();
}
}

También podría gustarte