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 Konnektivitätsänderungen.
Um dieses Problem zu beheben, finden Sie hier einen alternativen Ansatz:
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;
}
}
Diese Methode bestimmt, ob das Gerät mit WLAN oder mobilen Daten verbunden ist.
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
}
}
}
}
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:
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3