Heim >Java >javaLernprogramm >Wie erkennt und handhabt man Änderungen der Netzwerkkonnektivität in Android?
Ü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>verwenden
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!