"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية التعامل مع تغييرات الاتصال بالإنترنت في Android؟

كيفية التعامل مع تغييرات الاتصال بالإنترنت في Android؟

تم النشر بتاريخ 2024-11-07
تصفح:985

How to Handle Internet Connectivity Changes in Android?

التعامل مع تغييرات اتصال الإنترنت في Android

يركز السؤال على الحاجة إلى جهاز استقبال بث يمكنه مراقبة التغييرات في اتصال الإنترنت، مثل يكتشف الكود الموجود تغييرات الاتصال فقط.

لمعالجة هذا، إليك طريقة بديلة:

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

تحدد هذه الطريقة ما إذا كان الجهاز متصلاً بشبكة WiFi أو بيانات الجوال.

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

يراقب جهاز BroadcastReceiver هذا تغييرات حالة الاتصال ويقوم بتشغيل الإجراءات بناءً على الحالة الحالية. تذكر تضمين الأذونات المناسبة وتسجيل المتلقي في AndroidManifest.xml:




    
        
        
    
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3