2012-09-04 13 views
22

एंड्रॉइड दस्तावेज़ों के अनुसार इरादा अतिरिक्त नाम में एक पैकेज उपसर्ग होना चाहिए। मैं लंबे समय तक उपसर्गों के बिना अतिरिक्त नामों का उपयोग कर रहा हूं और ऐसा लगता है कि टकराव का कोई मौका नहीं है क्योंकि वास्तव में इरादा कार्य अनूठा है। तो क्या दस्तावेज़ सिर्फ गलत हैं या क्या मुझे कुछ याद आ रहा है?एंड्रॉइड दस्तावेज़ों का कहना है कि अतिरिक्त अतिरिक्त पैकेज पैकेज उपसर्ग की आवश्यकता क्यों है

putExtra के लिये दस्तावेज कहते हैं:

इरादे को विस्तारित डेटा जोड़ें। नाम में पैकेज उपसर्ग शामिल होना चाहिए, उदाहरण के लिए ऐप com.android.contacts "com.android.contacts.ShowAll" जैसे नामों का उपयोग करेगा।

उत्तर

17

मेरा मानना ​​है कि एंड्रॉइड दस्तावेज़ पूरी तरह से योग्य एक्स्ट्रा का उपयोग करने की सलाह देते हैं, असामान्य एज केस को संभालना है। बढ़त मामला है जब आप कर रहे हैं:

  • एक गतिविधि है कि इस तरह Intent.ACTION_VIEW

और

  • अपने स्वयं के उपयोग के लिए आप चाहते हैं के रूप में एक सार्वजनिक आशय कार्रवाई का उपयोग शुरू किया जा सकता है लेखन उपरोक्त वर्णित गतिविधि में कस्टम एक्स्ट्रा को पार करने में सक्षम होने के लिए, एक ही गतिविधि के साथ हस्तक्षेप किए बिना और एक ही नाम के साथ अतिरिक्त हो सकता है लेकिन अलग-अलग अर्थ या प्रारूप

पुhew, यह सब बहुत ही असंभव लगता है। यदि आप सार्वजनिक मंशा कार्यों को संभालने में काम नहीं कर रहे हैं तो यह अभी भी प्रतीत होता है कि आपके एक्स्ट्रा को पूरी तरह अर्हता प्राप्त करने की आवश्यकता नहीं है, लेकिन मुझे लगता है कि अगर आप पागल प्रकार हैं तो यह हर समय ऐसा करने में कोई दिक्कत नहीं होती है।

+1

क्या आप पैकेज को अतिरिक्त रूप में भी आपूर्ति नहीं कर सकते? ऐसे मामलों में ऐसा लगता है कि आप पहले अपने मूल पैकेज को जांचने से बेहतर होंगे और फिर उस पर आधारित अतिरिक्त को संभालना बेहतर होगा, जब तक कि आपकी कुछ प्रेषण गतिविधियां अन्य प्रेषण गतिविधियों के अर्थों के साथ अतिरिक्त जोड़ नहीं सकतीं (जो बहुत भ्रमित हो सकती है, लेकिन यदि आप किसी प्रकार की प्रॉक्सी गतिविधि या सेवा स्थापित कर रहे हैं, तो इसका उपयोग हो सकता है जो इसके साथ गुजरने वाले इरादे के अतिरिक्त रूपों का उपयोग करता है)। – JAB

+0

मैं @ जेएबी से सहमत हूं। डिफ़ॉल्ट नहीं होगा कि आप अनुरोधकर्ता के आधार पर "अतिरिक्त" इरादा डेटा को अलग-अलग प्रबंधित नहीं कर रहे हैं, लेकिन यदि आप ऐसा करना चाहते हैं, तो आपको एक पैकेज नाम को अतिरिक्त "अतिरिक्त" इरादे के रूप में प्रदान किया जाना चाहिए डेटा ताकि आप आसानी से ** और ** मान्य कर सकें? –

+0

आप अपने पैकेज नाम को अभी तक एक और अतिरिक्त आपूर्ति और आपूर्ति कर सकते हैं और यह आपके ऐप को सुरक्षित रखेगा, लेकिन अन्य ऐप्स उस गैर-मानक अतिरिक्त की जांच नहीं करेंगे। इसलिए यदि आप सार्वजनिक मंशा कार्रवाई का उपयोग करते हैं और अपने सभी गैर-मानक अतिरिक्त नामों को पूरी तरह अर्हता प्राप्त नहीं करते हैं तो आप अन्य ऐप्स तोड़ सकते हैं। – satur9nine

2

इरादों को अन्य ऐप्स और सिस्टम पर स्वयं को पारित किया जा सकता है, इसलिए सौजन्य पैकेज नामस्थान का उपयोग करना है।

+5

मुझे नहीं लगता कि यह विनम्र क्यों होगा। सिस्टम या अन्य ऐप्स मेरे एक्स्ट्रा को क्यों देख रहे हैं, क्या वे सिर्फ अंधेरे से इसे पास नहीं करना चाहिए? दूसरी बात में कार्रवाई में पैकेज का नाम है, क्यों हर एक अतिरिक्त को इसकी आवश्यकता होगी? – satur9nine

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