Überwachen der Netzwerkkonnektivität in Android
Problem:
Wie können Sie Änderungen im Netzwerk überwachen? Konnektivität auf einem Android-Gerät herstellen und Netzwerkausfallereignisse erfassen?
Antwort:
Um Netzwerkausfallereignisse in Android zu erfassen, führen Sie die folgenden Schritte aus:
1. Erstellen Sie einen Broadcast Receiver:
Erstellen Sie eine neue Java-Klasse, die die BroadcastReceiver-Klasse erweitert:
<code class="java">public class ConnectionChangeReceiver extends BroadcastReceiver { @Override public void onReceive( Context context, Intent intent ) { // Network connectivity change handling code goes here } }</code>
2. Registrieren Sie den Broadcast Receiver:
Fügen Sie den folgenden XML-Code zu Ihrer AndroidManifest.xml-Datei im
<code class="xml"><receiver android:name="com.blackboard.androidtest.receiver.ConnectionChangeReceiver" android:label="NetworkConnection"> <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/> </intent-filter> </receiver></code>
3. Berechtigung erteilen:
Fügen Sie die folgende Berechtigung zu Ihrer AndroidManifest.xml-Datei im
<code class="xml"><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/></code>
4. Behandeln Sie Änderungen der Netzwerkkonnektivität:
Innerhalb der onReceive-Methode Ihrer ConnectionChangeReceiver-Klasse können Sie Änderungen der Netzwerkkonnektivität verarbeiten. Sie können beispielsweise die aktiven und mobilen Netzwerkinformationen überprüfen, indem Sie:
<code class="java">ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService( Context.CONNECTIVITY_SERVICE ); NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo(); NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE );</code>
Beispielcode:
<code class="java">public class ConnectionChangeReceiver extends BroadcastReceiver { @Override public void onReceive( Context context, Intent intent ) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService( Context.CONNECTIVITY_SERVICE ); NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo(); NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo( ConnectivityManager.TYPE_MOBILE ); if ( activeNetInfo != null ) { Toast.makeText( context, "Active Network Type : " + activeNetInfo.getTypeName(), Toast.LENGTH_SHORT ).show(); } if( mobNetInfo != null ) { Toast.makeText( context, "Mobile Network Type : " + mobNetInfo.getTypeName(), Toast.LENGTH_SHORT ).show(); } } }</code>
Das obige ist der detaillierte Inhalt vonWie erkennt und handhabt man Änderungen der Netzwerkkonnektivität in Android?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!