2010-06-04 8 views
6

Ich müsste überprüfen, ob das Wifi im Telefon zur Laufzeit ein- oder ausgeschaltet ist?Überprüfen Sie WiFi und GPS isConnected oder nicht in Android?

Wenn es nicht verbunden ist, möchte ich Dialog anzeigen und gehe direkt Einstellung/Wireless Controls, um es durch den Benutzer zu ermöglichen.

es ist für beide wifi und Gps staus des Telefons. Wie es geht? Welche Absicht, dafür aufzuwachen? Irgendeine Idee?

Antwort

6

Sie können die Klasse verwenden, um den Status von Wi-Fi zu erhalten.

Siehe this Frage zum Öffnen von Wi-Fi-Einstellungen. Und diese Frage für GPS Status.

+0

wie zu verfolgen der Status von GPS? – Praveen

+0

Siehe den Link in meiner bearbeiteten Antwort. – kgiannakakis

11

Um zu überprüfen, ob das Gerät über Handy oder WLAN verbunden ist Sie diesen Code verwenden können:

ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 

//mobile 
State mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState(); 

//wifi 
State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState(); 

und dann verwenden, wie folgt aus:

if (mobile == NetworkInfo.State.CONNECTED || mobile == NetworkInfo.State.CONNECTING) { 
    //mobile 
} else if (wifi == NetworkInfo.State.CONNECTED || wifi == NetworkInfo.State.CONNECTING) { 
    //wifi 
} 
+0

Wie kann ich den Status von GPS verfolgen? – Praveen

+1

Es gibt keine Garantie, dass das mobile networkInfo 0 und das WLAN wird Netzwerk-Info 1 sein. Vielleicht ist es besser zu überprüfen, was von "getActiveNetworkInfo" zurückgegeben – haseman

+0

bedeutet hier ConnectivityManager.TYPE_MOBILE, 1 - ConnectivityManager.TYPE_WIFI – Vadim

0
private boolean isNetworkAvailable() { 
    ConnectivityManager connManager = (ConnectivityManager) 
      getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo activeNetworkInfo = connManager.getActiveNetworkInfo(); 
    return activeNetworkInfo.isConnected(); 
} 

public void onClick(DialogInterface dialog, int id) { 
    // ... 
    if (isNetworkAvailable()) { 
     t3.setText("The Internet is available"); 
    } else { 
     t3.setText("internet is not available"); 
    } 
} 
0
ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 

//mobile 
State mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState(); 

//wifi 
State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState(); 
+0

Willkommen bei StackOverflow . Vielleicht möchten Sie erklären, warum Ihr System die bessere Antwort ist, anstatt nur etwas Code zu posten. Klicken Sie auf die Schaltfläche "Bearbeiten", um weitere Erläuterungen hinzuzufügen. –

Verwandte Themen