Italian Verifica connessione dati 3G o WI FI

ivanomonti

Expert
Licensed User
Longtime User
Ciao a tutta la lista, vorrei avere la possibilità di monitorare prima di eseguire alcune funzioni l'esistenza della connessione.

per la wi fi ho visto e provato la lib JhWifi ma fa solo wi esiste qualcosa di meno impegnativo che controlli tutte e due l'esistenza (wifi + 3G )

Grazie.
 

arenaluigi

Well-Known Member
Licensed User
Longtime User
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
 

ivanomonti

Expert
Licensed User
Longtime User
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

Grazie
 

lmonti

Member
Licensed User
Longtime User
ciao a tutti,
c'è un modo per capire se è attivo il 3g oppure il wifi ?

grazie
 

ivanomonti

Expert
Licensed User
Longtime User
ciao a tutti,
c'è un modo per capire se è attivo il 3g oppure il wifi ?

grazie

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
 

gdelvecchio

Member
Licensed User
Longtime User
check connesssione

Ciao

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:)
 

frac3sco

Member
Licensed User
Longtime User
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

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.

suggerimenti per ovviare a questo problema??
 
Top