Rumah >Java >javaTutorial >Bagaimana untuk Mengesan dan Mengendalikan Perubahan Ketersambungan Rangkaian dalam Android?

Bagaimana untuk Mengesan dan Mengendalikan Perubahan Ketersambungan Rangkaian dalam Android?

Barbara Streisand
Barbara Streisandasal
2024-10-24 19:22:02474semak imbas

How to Detect and Handle Network Connectivity Changes in Android?

Memantau Kesambungan Rangkaian dalam Android

Masalah:

Bagaimana anda boleh memantau perubahan dalam rangkaian kesambungan pada peranti Android dan menangkap peristiwa gangguan rangkaian?

Jawapan:

Untuk menangkap peristiwa gangguan rangkaian dalam Android, ikut langkah berikut:

1. Cipta Penerima Siaran:

Buat kelas Java baharu yang memanjangkan kelas Penerima Siaran:

<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. Daftarkan Penerima Siaran:

Tambahkan kod XML berikut pada fail AndroidManifest.xml anda dalam elemen:

<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. Berikan Kebenaran:

Tambahkan kebenaran berikut pada fail AndroidManifest.xml anda dalam elemen:

<code class="xml"><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/></code>

4. Kendalikan Perubahan Kesambungan Rangkaian:

Dalam kaedah onReceive kelas ConnectionChangeReceiver anda, anda boleh mengendalikan perubahan ketersambungan rangkaian. Sebagai contoh, anda boleh menyemak maklumat rangkaian aktif dan mudah alih menggunakan:

<code class="java">ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService( Context.CONNECTIVITY_SERVICE );
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE );</code>

Contoh Kod:

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

Atas ialah kandungan terperinci Bagaimana untuk Mengesan dan Mengendalikan Perubahan Ketersambungan Rangkaian dalam Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn