2014-12-25 3 views
5

Wie kann ich wissen, ob das Telefon eine Internetverbindung hat? (Ob WLAN oder Daten)Windows Phone 8.1: Überprüfen Sie die Internetverbindung

Manchmal verbindet sich das Telefon mit WiFi ohne Internetverbindung wie HotSpots. Also möchte ich einen Code wissen, wenn das Telefon eine Verbindung zum Internet herstellt.

+0

tut https://stackoverflow.com/questions/ 22362646/windows-phone-8-how-to-check-netzwerkverfügbarkeit hilfe? – matthew5025

+0

wozu brauchst du es? Internetservice ? – jackjop

+1

Bevor ich den Web-Service anrufe, möchte ich wissen, ob der Benutzer sich mit dem Internet verbindet oder nicht ... –

Antwort

0

Was Sie wollen, ist ein Captive Portal, das ist so ziemlich eine Seite, die Benutzer verbinden, um zu testen, ob ihre Internetverbindung funktioniert, kann es here im Detail erklärt werden.

Diese Open-Source-Projekte sind vielversprechend:

  1. WiFiDog
  2. ChilliSpot

Good Luck!

2

Sie können einfach versuchen:

if (NetworkInformation.GetInternetConnectionProfile() == null) 
     { 
      //no connection 
     } 

Wie Sie in dieser MSDN-Dokumentation sehen: NetworkInformation.GetInternetConnectionProfile

Es null zurück, wenn es "kein Verbindungsprofil mit einer geeigneten Verbindung"

Sie können auch explizit die "Internet Access" Ebene mit diesem überprüfen: NetworkInformation.GetInternetConnectionProfile().GetNetworkConnectivityLevel() == NetworkConnectivityLevel.InternetAccess

Ich denke, das wird auch in der universellen App funktionieren.

0

Bitte beachten Sie Internet im Hintergrund-Thread Überprüfung

if (await Task.Run(() =>NetworkInterface.GetIsNetworkAvailable()) 
{ 
    //Wifi or Cellular 
} 
else 
{ 
    // No internet 
} 
1

Die unten Methode funktioniert für mich einfach zu überprüfen, ob das Gerät mit dem Internet oder nicht einmal in Universal-Windows-Anwendung verbunden ist. Nachdem die Verbindung Klasse erstellen können Sie einfach überall verwenden nur durch diese Klasse instanziieren ...

public class Connection 
{ 
    public bool CheckInternetAccess() 
    { 
     var connectionProfile = NetworkInformation.GetInternetConnectionProfile(); 
     var HasInternetAccess = (connectionProfile != null && 
          connectionProfile.GetNetworkConnectivityLevel() == 
          NetworkConnectivityLevel.InternetAccess); 
     return HasInternetAccess; 
    } 
} 

diese Klasse verwenden einfach ..

Connection objConnection = new Connection(); 
if(objConnection.CheckInternetAccess()==true) 
{ 
    //todo 
} 
else 
{//todo}