2010-10-05 17 views
9

मुझे यह पता लगाना होगा कि कौन से प्रसारण रिसीवर किसी दिए गए इरादे को संभाल सकते हैं।queryBroadcastReceivers को रजिस्टर के साथ पंजीकृत रिसीवर नहीं मिलते हैं रिसीवर

ऐसा लगता है कि queryBroadcastReceivers()registerReceiver (का उपयोग कर कोड में पंजीकृत रिसीवर वापस नहीं करता है) लेकिन केवल रिसीवर AndroidManifest.xml में घोषित कर दिया।

क्या यह व्यवहार डिज़ाइन द्वारा किया गया है?

खोजने के लिए कोई अन्य तरीका सभी कुछ इरादे के लिए इंस्टॉल रिसीवर?

धन्यवाद।

+0

हाय फिर से, किसी को भी मदद कर सकते हैं:

आप इस उदाहरण परियोजना है जो इस विधि का उपयोग करता देख सकते हैं? – Assaf

उत्तर

6

ऐसा लगता है कि यह मेलिंग सूची पर, कोड में पंजीकृत रिसीवर पता लगाने के लिए इस हाल के संदेश के अनुसार संभव नहीं है की तरह: http://groups.google.com/group/android-developers/msg/5fd1cdb24b2a6760

यह निराशाजनक है के रूप में मैं एक ही बात करने के लिए एक रास्ता खोज रहा था।

+0

मुझे अभी भी यही समस्या है, और आपका उत्तर 3 साल पुराना है। अब, 'रजिस्टर रिसीवर() 'के साथ पंजीकृत प्रसारण रिसीवर सूचीबद्ध करने का कोई नया तरीका है? – Vincent

+0

@ विन्सेंट ऐसा लगता है जैसे यह रहता है, ऐसा कोई तरीका नहीं है। – sandrstar

1

यदि आपके द्वारा रुचि रखने वाले रिसीवर आपकी हैं, तो आप नियमित प्रसारण के बजाय sendOrderedBroadcast का उपयोग कर सकते हैं।

इससे प्रसारण सभी प्राथमिक रिसीवरों को एक-एक करके प्राथमिकता के अनुसार, और आखिरकार आपके आपूर्ति किए गए प्रसारण रिसीवर को जाता है, जो परिणाम/डेटा के अनुसार पास किया जाता है, यह पता लगा सकता है कि कौन से रिसीवर इसे पहले संभाले हैं। http://www.mannaz.at/codebase/android-activity-foreground-surveillance/

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