Heim >Java >javaLernprogramm >Wie gehe ich mit Änderungen der Internetverbindung in Android um?

Wie gehe ich mit Änderungen der Internetverbindung in Android um?

Linda Hamilton
Linda HamiltonOriginal
2024-10-29 04:28:29555Durchsuche

How to Handle Internet Connectivity Changes in Android?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn