Heim  >  Artikel  >  Java  >  Wie erkennt und handhabt man Änderungen der Netzwerkkonnektivität in Android?

Wie erkennt und handhabt man Änderungen der Netzwerkkonnektivität in Android?

Barbara Streisand
Barbara StreisandOriginal
2024-10-24 19:22:02357Durchsuche

How to Detect and Handle Network Connectivity Changes 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 hinzu. Element:

<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 hinzu. Element:

<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!

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