मेरे पास एक एसिंक्टास्क है जो कुछ करता है, जब यह किया जाता है, तो मैं इसे प्रसारित करना चाहता हूं।asynctasks से प्रसारण भेजना
आमतौर पर मैं करता हूं: context.sendBroadcast(new Intent(MYINTENT));
हालांकि asynctask का कोई संदर्भ नहीं है। मैंने इस प्रश्न के कुछ जवाब देखे हैं जो एपिनक्टास्क में ऐप की गतिविधि के संदर्भ को संदर्भित करने का सुझाव देते हैं। लेकिन यदि उपयोगकर्ता स्क्रीन को घुमाता है तो वह संदर्भ खराब है। और संदर्भ को मैन्युअल रूप से बनाए रखना एक खराब समाधान है (एसिंक्टास्क बनाने वाली गतिविधि से बहुत अधिक आवश्यकता है, जिसे मैं नियंत्रित नहीं करता)। अब सवाल हैं:
1) एंड्रॉइड इस तरह क्यों स्थापित है? ब्रॉडकास्ट को अन्य संदर्भों के लिए पंजीकृत और प्रबंधित किए जाने पर प्रसारण भेजने के लिए मुझे संदर्भ की आवश्यकता क्यों है?
2) क्या इस समस्या का कोई अच्छा समाधान है? (अच्छा = asynctask बनाने की गतिविधि से जितना संभव हो सके, घूर्णन जीवित रहता है, आदि ..)।
'Activity.getAplicationContext()' का उपयोग करके 'AsyncTasnk' पर एप्लासिशन संदर्भ पास करें। ऐप संदर्भ स्क्रीन रोटेशन से प्रभावित नहीं होगा जिसका अर्थ है कि इसके संदर्भ में संभावित रोटेशन के बाद भी वैध होगा। – Paul
@ पॉल अच्छी तरह से तकनीकी समस्या हल करता है, धन्यवाद। अभी भी सोच रहा है कि मुझे ब्रॉडकास्ट भेजने के लिए संदर्भ की आवश्यकता क्यों है (एक डिजाइन स्टैंड पॉइंट से)। – Oren