Ciao Ivano,
potresti usare la libreria httputils2 e scaricarti ad esempio la pagina di google,
a questo punto sei sicuro di avere una connessione.
Se non ricordo male una volta instanziato il job:
B4X:
job.Initialize("Job", Me)
job.Download("http://www.google.it")
If job.Success = True Then
'linea attiva
else
' linea non attiva
end if
Ciao Ivano,
potresti usare la libreria httputils2 e scaricarti ad esempio la pagina di google,
a questo punto sei sicuro di avere una connessione.
Se non ricordo male una volta instanziato il job:
B4X:
job.Initialize("Job", Me)
job.Download("http://www.google.it")
If job.Success = True Then
'linea attiva
else
' linea non attiva
end if
si io ho usato 2 lib e vado in 2 direzioni ti posto il mio codice che da 2 gg che lo testo e funziona
B4X:
Sub Process_Globals
Dim jhw As JhWifi
Dim timer1 As Timer
Dim Connect As Boolean
End Sub
B4X:
Sub InitializzeJhw
jhw.Initialize()
jhw.startscan()
' Scan takes some time, so wait a minute
ToastMessageShow("Verifica connessione",False)
timer1.Initialize("timer1", 1000)
timer1.Enabled = True
End Sub
il timer mi controlla costantemente la rete
se la wifi e attiva segnale 0 per me e spenta
idem su 3g che a quanto pare si usa solo la condizione aereo
B4X:
Sub timer1_tick
' controllo wi-fi
Try
Dim n As Int
n=jhw.StrongestKnownNetwork
jhw.enableNetwork(n, True)
If n > 0 Then
Connect = True
ImageView_wifi.Visible = True
Else
Connect = False
ImageView_wifi.Visible = False
End If
Catch
Connect = False
ImageView_wifi.Visible = False
End Try
' controllo 3G
Try
Dim p As Phone
If p.IsAirplaneModeOn = True Then
Connect = False
ImageView_network.Visible = False
Else
Connect = True
ImageView_network.Visible = True
End If
Catch
Connect = False
ImageView_network.Visible = False
End Try
timer1.Initialize("timer1", 60000)
End Sub
con questo script verifica se la connessione WIFI o 3G è presente!
B4X:
Sub Process_Globals
Dim CONNESSIONE As Boolean
end sub
Sub Check_Connection
'**********************************
' DICHIARO VARIABILI PHONE E SOCKET
'**********************************
Dim ph As Phone
Dim myLAN As ServerSocket
'********************************************************************
' VERIFICO LO STATO DI CONNESSIONE DEL TELEFONO E LO STATO DEL WI-FI
'********************************************************************
If ph.GetDataState <> "CONNECTED" AND myLAN.GetMyIP = "127.0.0.1" Then
Msgbox("Stato rete OFF-LINE!","Avviso di rete")
CONNESSIONE = False
StartActivity("LogIn")
Else
CONNESSIONE = True
End If
End Sub
Carichi il metodo check connection ogni volta che vuoi verificare la connessione e il gioco è fatto!
Ciao Ivano,
potresti usare la libreria httputils2 e scaricarti ad esempio la pagina di google,
a questo punto sei sicuro di avere una connessione.
Se non ricordo male una volta instanziato il job:
B4X:
job.Initialize("Job", Me)
job.Download("http://www.google.it")
If job.Success = True Then
'linea attiva
else
' linea non attiva
end if
Ciao arenaluigi il tuo codice mi restituisce un errore e mi chiude l'app.
il mio problema è il seguente
ho un app che si dovrebbe sincronizzare con un db mysql ogni qualvolta l'utente inserisce un dato, il problema è l utente che usa lo smartphone che cambia in continuazione cella di copertura e di conseguenza spesso si ritrova in zone di confine dove anche se è presente la connessione la navigazione è bloccata.
Secondo me dovresti, avere un db locale dove per ogni record che invii hai un flag se l'hai inviato o meno.
E finchè non è flaggatto, continui con l'invio.