एंड्रॉइड में इंटरनेट कनेक्टिविटी परिवर्तनों को संभालना
प्रश्न एक ब्रॉडकास्ट रिसीवर की आवश्यकता पर केंद्रित है जो इंटरनेट कनेक्टिविटी में परिवर्तनों की निगरानी कर सकता है, जैसे कि मौजूदा कोड केवल कनेक्टिविटी परिवर्तनों का पता लगाता है।
इसे संबोधित करने के लिए, यहां एक वैकल्पिक दृष्टिकोण है:
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;
}
}
यह विधि निर्धारित करती है कि डिवाइस वाईफाई या मोबाइल डेटा से जुड़ा है या नहीं।
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
}
}
}
}
यह ब्रॉडकास्ट रिसीवर कनेक्टिविटी स्थिति में बदलाव की निगरानी करता है और वर्तमान स्थिति के आधार पर कार्रवाई शुरू करता है। उचित अनुमतियाँ शामिल करना और रिसीवर को अपने AndroidManifest.xml में पंजीकृत करना याद रखें:
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3