Rumah >Java >javaTutorial >Bagaimana untuk Mengendalikan Perubahan Kesambungan Internet dalam Android?

Bagaimana untuk Mengendalikan Perubahan Kesambungan Internet dalam Android?

Linda Hamilton
Linda Hamiltonasal
2024-10-29 04:28:29594semak imbas

How to Handle Internet Connectivity Changes in 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!

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