2012-07-30 5 views
5

के बजाय ग्रहण अलग-अलग गतिविधियों को लोड करता है I ग्रहण और एंड्रॉइड एसडीके (एडीटी प्लगइन के साथ) का उपयोग कर रहा हूं, मुझे नहीं पता कि यह किसी प्रकार की कॉन्फ़िगरेशन समस्या है या यह कुछ कोड समस्या है। जब भी मैं एक ऐप लोड करता हूं जिसे मैंने स्क्रैच से बनाया है (इसका मतलब है कि मेरे डिवाइस पर कोई अन्य मौजूदा कोड या लाइब्रेरी से एक नमूना नहीं है) या इसे एमुलेटर पर चलाएं, तो संपूर्ण ऐप "अलग" ऐप्स के रूप में लोड होगा, जो गतिविधियां हैं । उदाहरण के लिए, यदि ऐप को "हैलो वर्ल्ड" नाम दिया गया है और इसमें दो गतिविधियां हैं, "मेनएक्टिविटी" और "सेकेंडरी एक्टिविटी", तो वे दोनों डिवाइस पर ऐप नाम के रूप में और मेनू पर ऐप आइकन साझा करने के साथ डिवाइस पर दिखाई देंगे। अब, अगर मैं सेटिंग्स पर जाता हूं, तो "हैलो वर्ल्ड" एक एप्लिकेशन के रूप में दिखाई देता है, अब इसे फिर से व्यवहार करना चाहिए। यह ऐप के संचालन को प्रभावित नहीं करता है, हालांकि, एक ही ऐप लॉन्च करने वाले 1 से अधिक आइकन होने के लिए यह परेशान है। समस्या यह है कि, जब मैंने पहली बार ग्रहण किया था, यह नहीं हो रहा था।ग्रहण

बस अगर यह मदद करता है, तो मैं पहले से ही पूरे एंड्रॉइड एसडीके और एडीटी प्लगइन को फिर से स्थापित कर चुका हूं, साथ ही, मैंने 3 अलग ग्रहण संस्करणों (क्लासिक, ईई, और जावा डेवलपर्स) का उपयोग करने की कोशिश की, उनमें से कोई भी प्रतीत नहीं होता काम करने के लिए, भले ही, किसी भी गतिविधि के लिए ग्राफ़िकल लेआउट में, ऐप का नाम ऐप के आइकन के साथ बार में दिखाया गया है, लेकिन एमुलेटर या वास्तविक डिवाइस पर चल रहा है, यह इसके बजाय गतिविधि का नाम दिखाता है। मैंने हर जगह देखा है और मैंने समस्या हल नहीं की है। धन्यवाद!

+0

आपके एंडॉइडManifest.xml में गतिविधियां कैसे सूचीबद्ध हैं? – kostja

+0

@ कोस्टजा समस्या तब दिखाई देती है जब केवल एक गतिविधि होती है (गतिविधि का नाम मेनू पर आइकन के नीचे दिखाई देता है, न कि "एप्लिकेशन प्रबंधन" पर)। वे इस प्रकार सूचीबद्ध हैं: <एप्लिकेशन (आइकन, लेबल और थीम अंदर) <गतिविधि (नाम और लेबल अंदर) < आवेदन />। – MalancheK

+0

हम्म, अगर आपके पास मैनिफेस्ट में एक ही गतिविधि है लेकिन कई गतिविधियां तैनात की जाती हैं, तो मैं अनजान हूं। Sry – kostja

उत्तर

7

की जाँच करें अपने यदि एक से अधिक गतिविधि है देखने के लिए प्रकट इस:

<category android:name="android.intent.category.LAUNCHER" /> 
+1

ओह! हां, सभी गतिविधियों में लॉन्चर के रूप में श्रेणी सेट है, यही कारण है कि वे मेनू पर दिखाई देते हैं? लॉन्चर होने का मतलब नहीं है कि एक गतिविधि के लिए इसके बजाय क्या कहना चाहिए? या यह गतिविधि के उद्देश्य पर निर्भर करता है? हल किया! आपका बहुत बहुत धन्यवाद! – MalancheK

+1

"इरादा-फ़िल्टर" अनुभाग परिभाषित करता है कि आपकी गतिविधि लॉन्च की जा सकती है, चाहे पृष्ठभूमि में चल रहे किसी सेवा या लॉन्चर या यहां तक ​​कि किसी अन्य एप्लिकेशन द्वारा। मेरा सुझाव है कि आप यहां इसके बारे में अधिक पढ़ें: http://developer.android.com/guide/components/intents-filters.html – Turnsole

+0

कोई प्रश्न पूछने वाला था लेकिन आपने दिन बचाया। Upvoted! – Si8

4

जवाब मैं को category.LAUNCHER ऊपर समस्या के लिए पाया जाता है, की जगह सभी गतिविधियों में category.EMBED आपकी मेनिफेस्ट फ़ाइल में मुख्य गतिविधि के अलावा।