German Internetverbindung prüfen funktioniert nicht mehr

BernhardS

Member
Licensed User
Longtime User
Hallo Leute,

seitdem ich mir ein neues Smartphone zugelegt habe, funktioniert die Überprüfung des Internets auf Verbindung nicht mehr. Beim Code 2 funktioniert alles einwandfrei, jedoch wenn Wifi on ist und keine Verbindung zu einem Router hat, wird trotzdem gemeldet, dass eine Verbindung vorhanden ist.
Ich glaube es hängt irgendwie mit dem "localhost" zusammen. Denn meine localhost-adresse ist nicht "127.0.0.1", sondern "10.233.103.77" !!! Habt ihr eine Lösung bzw. eine andere Methode?

Ich benutzte bislang diesen Code:

B4X:
Sub Globals
    Dim MyLan As ServerSocket
End Sub

Sub CheckForWiFi
    If MyLan.GetMyIP = "127.0.0.1" Then  '
          Return False
    Else
          Return True
    End If
End Sub

und auch diesen habe ich ausprobiert:

B4X:
Sub CheckWiFi
  Dim p As Phone  'Phone Library
  If p.GetSettings ("wifi_on") <> 1 Then
    MsgBox ("WiFi is OFF","")
      Else  'WiFi is on
        If p.GetDataState = "DISCONNECTED" Then ' Phone carrier's data network is disconnected
          MsgBox ("WiFi is ON and CONNECTED","")
            Else
        MsgBox ("WiFi is ON but NOT connected to a WiFi network","")
        End If                       
  End If
End Sub
 

corwin42

Expert
Licensed User
Longtime User
Ich benutze das:

B4X:
Sub CheckConnection As Boolean
    Dim ss As ServerSocket
    Dim p As Phone
    Dim val As String

    ss.Initialize(0, "")
    val = ss.GetMyWifiIP
   
    If val <> "127.0.0.1" Then
        VB("Wifi connected: " & val)
        Return True
    End If
   
    If p.GetDataState = "CONNECTED" Then
        VB("Data Connected")
        Return True
    End If
   
    Return False
End Sub

Das scheint zu funktionieren.

GetMyIp liefert auf manchen devices glaube ich eine IPV6 Adresse als lokale Adresse.
 
Top