Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Mengesan Perubahan Ketersambungan Internet dengan Amanah dalam Apl Android Saya Menggunakan Penerima Siaran?
Dalam aplikasi Android, penerima siaran digunakan untuk memantau perubahan dalam sistem atau acara tertentu. Satu kes penggunaan biasa seperti itu ialah menyemak sambungan internet. Walau bagaimanapun, dalam senario tertentu, adalah wajar untuk mengehadkan seruan penerima kepada keadaan di mana sambungan rangkaian tersedia.
Cabaran biasa yang dihadapi ialah penerima dipanggil dua kali, walaupun rangkaian mungkin tidak tersedia. Ini boleh dikaitkan dengan penambahan berbilang penapis niat dalam perisytiharan manifes penerima. Untuk menyelesaikan isu ini, adalah memadai untuk menggunakan hanya satu tindakan untuk perubahan sambungan rangkaian, seperti:
<intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter>
Untuk menangani kebimbangan kedua, di mana penerima harus hanya mencetuskan apabila sambungan rangkaian tersedia, kod yang disediakan memenuhi keperluan ini dengan berkesan. Ia memantau ketersediaan WiFi dan rangkaian mudah alih dan hanya memberitahu jika salah satu daripadanya disambungkan.
Untuk pendekatan yang lebih mudah untuk mengesahkan sambungan Internet, pertimbangkan fungsi berikut:
public boolean isOnline(Context context) { ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo netInfo = cm.getActiveNetworkInfo(); //should check for null as it will be null in airplane mode return (netInfo != null && netInfo.isConnected()); }
Kaedah ini menyediakan cara ringkas untuk menentukan sama ada peranti mudah alih disambungkan ke rangkaian.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Perubahan Ketersambungan Internet dengan Amanah dalam Apl Android Saya Menggunakan Penerima Siaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!