ऐसा करने का कठिन लेकिन सही तरीका है अपना खुद का कस्टम ContentProvider . बनाना अपने ऐप के लिए और वेब सेवाओं से प्राप्त सभी डेटा को अपडेट करें और नोटिफिकेशन को इस ContentProvider . पर पुश करें . जब Activity अग्रभूमि में वापस आता है, यह ContentProvider द्वारा प्रदान किए गए नए डेटा के साथ खुद को अपडेट करता है ।
यह कठिन है क्योंकि एक कस्टम ContentProvider making बनाना बहुत काम है। यह सही है जिस तरह से यह मोबाइल एप्लिकेशन के व्यवहार और एंड्रॉइड आर्किटेक्चर के अनुरूप है:मान लें कि कोई उपयोगकर्ता वेब-सेवा या कुछ गणना-गहन कार्य सक्रिय करता है, और फिर ऐप को खारिज कर देता है; या कहें कि एक पुश नोटिफिकेशन आता है और ऐप के डेटा को अपडेट और प्रदर्शित करने की आवश्यकता होती है। दोनों ही मामलों में, ऐप की Activity s अब अग्रभूमि में नहीं हो सकता है, लेकिन एक Service कुछ गैर-यूआई ऑपरेशन करने के लिए इस्तेमाल किया जा सकता है। अब उस ऑपरेशन के अंत में, Service ContentProvider . के ज़रिए डेटा में बदलाव करता है , और जब उपयोगकर्ता ऐप को फिर से सक्रिय करता है, तो Activity अपना नया डेटा ContentProvider . से प्राप्त करें ।
आधिकारिक ट्यूटोरियल को उद्धृत करने के लिए:
<ब्लॉकक्वॉट>सामग्री प्रदाता मानक इंटरफ़ेस हैं जो एक प्रक्रिया में डेटा को दूसरी प्रक्रिया में चल रहे कोड से जोड़ता है।
एक डेवलपर के रूप में, आपको हमेशा यह मान लेना चाहिए कि उपयोगकर्ता किसी भी समय किसी ऐप का आह्वान कर सकता है और उसे किसी भी समय खारिज कर सकता है। भले ही कोई Activity हो अग्रभूमि में है या नहीं, ऐप के डेटा को सही ढंग से अद्यतन और बनाए रखने की आवश्यकता है।
Google के अपने ऐप्स कस्टम ContentProvider . का उपयोग करते हैं एस। Gmail ऐप विशेष रूप से अपने ContentProvider . का उपयोग करता है नेटवर्क कनेक्टिविटी उपलब्ध होने पर नए ईमेल प्राप्त करने और ईमेल ऑफ़लाइन प्रदर्शित करने के लिए। Facebook , WhatsApp &Twitter Android ऐप्स ContentProvider . का भी उपयोग करते हैं एस.