Verificar a conexão com o Phonegap
Esta é uma dica para quem está começando a trabalhar com o Phonegap. Vamos aprender como verificar a conexão com a Internet utilizando Phonegap.
Uma necessidade comum é verificar se existe a conexão com a Internet. Portanto, antes de tentar acessar algum recurso externo, é uma boa prática primeiro verificar se a conexão está disponível.
O código abaixo mostra uma forma de resolver este problema. No exemplo abaixo, usei como exemplo o Jquery Mobile. Neste exemplo foi adicionado um listener ao evento ondeviceready do documento, desta forma ele será executado quando o carregamento da página for concluído
var isPhoneGapReady = false;
var isConnected = false;
var tipo_conexao = "";
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
isPhoneGapReady = true;
document.addEventListener("online", onOnline, false);
document.addEventListener("offline", onOffline, false);
networkDetection();
}
function onOnline() {
isConnected = true;
}
function onOffline() {
isConnected = false;
}
function networkDetection() {
if (isPhoneGapReady) {
var states = {};
states[navigator.connection.UNKNOWN] = Unknown connection ;
states[navigator.connection.ETHERNET] = Ethernet connection ;
states[navigator.connection.WIFI] = WiFi connection ;
states[navigator.connection.CELL_2G] = Cell 2G connection ;
states[navigator.connection.CELL_3G] = Cell 3G connection ;
states[navigator.connection.CELL_4G] = Cell 4G connection ;
states[navigator.connection.NONE] = No network connection ;
tipo_conexao = states[navigator.connection.type];
if (tipo_conexao != No network connection ) {
isConnected = true;
}
}
}
$(document).on( pageshow , #minha_pagina , function(){
if (isPhoneGapReady){
if (isConnected) {
//Conectado
} else {
//Nao conectado
}
} else {
//Phonegap nao esta pronto
}
});