मेरे पास एक गतिविधि है जो सर्वर से प्राप्त कुछ डेटा प्रदर्शित करती है। यदि कोई कनेक्शन उपलब्ध नहीं है, तो गतिविधि कुछ कैश किए गए डेटा प्रदर्शित करती है; यदि कनेक्शन उपलब्ध है, तो गतिविधि डेटा प्राप्त करती है और इसे प्रदर्शित करती है। यह सभी उम्मीद के अनुसार काम करता है।
अब, जैसे ही कनेक्शन होता है, मैं अपनी गतिविधि को डेटा को फिर से लोड करना चाहता हूं।एंड्रॉइड गतिविधि और प्रसारण रिसीवर के बीच संवाद
public class ConnectionChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
if (activeNetInfo != null) {
//what to do here?
}
}
}
प्रसारण रिसीवर मेरी मैनिफ़ेस्ट फ़ाइल में घोषित किया जाता है:
:<receiver android:name=".ConnectionChangeReceiver" android:label="NetworkConnection"> <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/> </intent-filter> </receiver>
मेरी गतिविधि में, मैं रिसीवर रजिस्टर मैं एक साधारण रिसीवर कि BroadcastReceiver फैली उपयोग कर रहा हूँ
कनेक्शनChangeReceiver रिसीवर = नया कनेक्शनChangeReceiver(); this.registerReceiver (रिसीवर, नया IntentFilter (कनेक्टिविटीमैनेजर। कॉनएक्टिविटी_एक्शन));
अब, मैं उलझन में हूं कि आगे क्या करना है। जब ऑनसाइट विधि को निष्पादित किया जाता है, तो मेरी गतिविधि को इसके बारे में कैसे जागरूक किया जाए? मुझे पता है कि मैं एक नई गतिविधि शुरू कर सकता हूं, लेकिन यह वास्तव में मैं नहीं चाहता हूं। क्या मुझे अपनी गतिविधि के निजी वर्ग के रूप में कनेक्शनChangeReceiver घोषित करना चाहिए? या कोई अन्य समाधान है?
उस गतिविधि के अंदर कनेक्शन चेंज रिसीवर क्लास बनाएं जिसे आप कनेक्शन के बारे में जागरूक करना चाहते हैं, रेसीसीव के अंदर, कनेक्टिविटी सिग्नल प्राप्त करने के बाद यूआई भागों को अपडेट करें। – sat