Heim > Java > javaLernprogramm > Hauptteil

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

Barbara Streisand
Freigeben: 2024-10-24 19:22:02
Original
372 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren
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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!