2015-01-28 6 views
8

स्टैक ओवरफ़्लो और अन्यत्र पर कई उदाहरण हैं जो किसी ऐप के बाहर प्रसारण ईवेंट से बचने के लिए LocalBroadcastManager कक्षा का उपयोग करते हैं।एंड्रॉइड समर्थन लाइब्रेरी के बिना LocalBroadcastManager के समतुल्य

हालांकि, यह क्लास पैकेज नाम में दिखाए गए अनुसार एंड्रॉइड समर्थन लाइब्रेरी का उपयोग करता है: android.support.v4.content.LocalBroadcastManager

मानक एसडीके में LocalBroadcastManager के बराबर है जो एंड्रॉइड समर्थन लाइब्रेरी का उपयोग नहीं करता है?

ऐसा प्रतीत नहीं होता है कि sendBroadcastandroid.content.Context में विधि इस तरह की सुरक्षा ग्रैन्युलरिटी है।

उत्तर

2

नहीं, यह अस्तित्व में नहीं है, यदि आप इस वर्ग को फिर से बनाना चाहते हैं तो आप समर्थन lib का उपयोग किये बिना स्वयं को लागू करने के लिए स्रोत कोड पढ़ सकते हैं। वैसे भी, समर्थन lib का उपयोग कर समस्या क्या है? यह हल्का है।

सामान्य ब्रॉडकास्ट रिसीवर का उपयोग करके थोड़ा सा कामकाज हो सकता है और इस रिसीवर के अंदर आपके मेनिफेस्ट पर <android:exported="false"> डाल सकता है, यह अन्य ऐप्स से आपको इरादे भेजता है, इसलिए आप स्थानीय रिसीवर को फेंक रहे हैं।

नोट: मैं faking, क्योंकि LocalBroadcastManager अनुकूलन है, प्रणाली के इरादे नहीं फैल द्वारा ...

आशा इस मदद करता है ने कहा।

+1

असल में मैं स्थानीय ब्रॉडकास्ट मैनेजर के स्रोत कोड को पढ़ने के बाद और एंड्रॉइड समर्थन पुस्तकालयों के पीछे तर्क को समझने के बाद एक ही निष्कर्ष पर आया। वैसे भी मैं EventBus की तरह कुछ उपयोग करेंगे। –

संबंधित मुद्दे