Heim >Java >javaLernprogramm >Wie gehe ich mit Änderungen der Internetverbindung in Android um?
Umgang mit Änderungen der Internetkonnektivität in Android
Die Frage dreht sich um die Notwendigkeit eines Rundfunkempfängers, der Änderungen in der Internetkonnektivität überwachen kann, wie z Vorhandener Code erkennt nur Verbindungsänderungen.
Um dieses Problem zu beheben, finden Sie hier einen alternativen Ansatz:
<code class="java">public class NetworkUtil { public static final int TYPE_WIFI = 1; public static final int TYPE_MOBILE = 2; public static final int TYPE_NOT_CONNECTED = 0; public static int getConnectivityStatus(Context context) { ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); if (activeNetwork != null) { if (activeNetwork.getType() == ConnectivityManager.TYPE_WIFI) return TYPE_WIFI; if (activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE) return TYPE_MOBILE; } return TYPE_NOT_CONNECTED; } }</code>
Diese Methode bestimmt, ob das Gerät mit WLAN oder mobilen Daten verbunden ist.
<code class="java">public class NetworkChangeReceiver extends BroadcastReceiver { @Override public void onReceive(final Context context, final Intent intent) { int status = NetworkUtil.getConnectivityStatus(context); if ("android.net.conn.CONNECTIVITY_CHANGE".equals(intent.getAction()) { if (status == NetworkUtil.TYPE_NOT_CONNECTED) { // Handle loss of internet connectivity } else { // Handle restoration of internet connectivity } } } }</code>
Dieser BroadcastReceiver überwacht Änderungen des Verbindungsstatus und löst Aktionen basierend auf dem aktuellen Status aus. Denken Sie daran, die entsprechenden Berechtigungen anzugeben und den Empfänger in Ihrer AndroidManifest.xml zu registrieren:
<code class="xml"><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <receiver android:name="NetworkChangeReceiver" android:label="NetworkChangeReceiver" > <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> <action android:name="android.net.wifi.WIFI_STATE_CHANGED" /> </intent-filter> </receiver></code>
Das obige ist der detaillierte Inhalt vonWie gehe ich mit Änderungen der Internetverbindung in Android um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!