Rumah >Java >javaTutorial >Bagaimana untuk Mengendalikan Perubahan Kesambungan Internet dalam Android?
Mengendalikan Perubahan Ketersambungan Internet dalam Android
Persoalannya tertumpu pada keperluan untuk Penerima Siaran yang boleh memantau perubahan dalam sambungan internet, sebagai kod sedia ada hanya mengesan perubahan sambungan.
Untuk menangani perkara ini, berikut ialah pendekatan alternatif:
<code class="java">public class NetworkUtil { public static final int TYPE_WIFI = 1; public static final int TYPE_MOBILE = 2; public static final int TYPE_NOT_CONNECTED = 0; public static int getConnectivityStatus(Context context) { ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); if (activeNetwork != null) { if (activeNetwork.getType() == ConnectivityManager.TYPE_WIFI) return TYPE_WIFI; if (activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE) return TYPE_MOBILE; } return TYPE_NOT_CONNECTED; } }</code>
Kaedah ini menentukan sama ada peranti disambungkan ke WiFi atau data mudah alih.
<code class="java">public class NetworkChangeReceiver extends BroadcastReceiver { @Override public void onReceive(final Context context, final Intent intent) { int status = NetworkUtil.getConnectivityStatus(context); if ("android.net.conn.CONNECTIVITY_CHANGE".equals(intent.getAction()) { if (status == NetworkUtil.TYPE_NOT_CONNECTED) { // Handle loss of internet connectivity } else { // Handle restoration of internet connectivity } } } }</code>
Penerima Siaran ini memantau perubahan keadaan ketersambungan dan mencetuskan tindakan berdasarkan status semasa. Ingat untuk memasukkan kebenaran yang sesuai dan daftarkan penerima dalam AndroidManifest.xml anda:
<code class="xml"><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <receiver android:name="NetworkChangeReceiver" android:label="NetworkChangeReceiver" > <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> <action android:name="android.net.wifi.WIFI_STATE_CHANGED" /> </intent-filter> </receiver></code>
Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Perubahan Kesambungan Internet dalam Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!