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