मेरे पास एक ऐप है जो केवल पोर्ट्रेट मोड में काम करता है, और मैंने अपनी अभिव्यक्ति फ़ाइल में परिवर्तन को प्रतिबिंबित करने के लिए प्रत्येक गतिविधि के लिए बदलाव किए हैं। लेकिन जब मैं डिवाइस को घुमाता हूं, तो गतिविधि फिर से पुन: प्रयास करती है। गतिविधि को कैसे नष्ट नहीं करें?एंड्रॉइड, डिवाइस को घुमाने पर गतिविधि को कैसे नष्ट नहीं किया जाए?
उत्तर
एपीआई 12 के लिए और नीचे: यदि आप एपीआई लक्षित कर रहे हैं जोड़ने
android:configChanges="orientation"
जोड़ें "screenSize" 13 या ऊपर क्योंकि जब भी अपने रुख में परिवर्तन तो अपने स्क्रीन आकार करता है, अन्यथा नए उपकरणों के लिए जारी रहेगा अपनी गतिविधि को नष्ट करने के लिए। "ScreenSize"
android:configChanges="orientation|screenSize"
का उपयोग कर AndroidManifest.xml में अपनी गतिविधि के बारे में अधिक जानकारी के लिए नीचे अंडे के जवाब देखें। इस प्रकार आपकी गतिविधि स्वचालित रूप से पुनरारंभ नहीं की जाएगी। अधिक जानकारी के लिए the documentation देखें
गतिविधि फिर से शुरू की जाती है। मुझे नहीं पता कि गतिविधि को घुमाने पर होने वाली सभी चीजें करने का क्या मतलब है, भले ही यह लगभग घूर्णन न हो। क्या इस संदेश को रूट करने के लिए सेंसर किसी ओएस को रोटेशन के बारे में ओएस भेजता है, या ऐसा कुछ है? – Vasil
आप किस डिवाइस पर प्रोग्रामिंग कर रहे हैं? याद रखें, उदाहरण के लिए कीबोर्ड को स्लाइड करने से आपकी गतिविधि भी पुनरारंभ हो सकती है ... (यदि कारण है कि "कीबोर्ड | कीबोर्डहेड | ओरिएंटेशन" पर confChanges को सेट किया गया है) –
यह सही उत्तर है धन्यवाद –
फ़्लोटिंग छवि में इस कोड को देखें। यह स्क्रीन रोटेशन को संभालने का सबसे दिलचस्प तरीका है। http://code.google.com/p/floatingimage/source/browse/#svn/trunk/floatingimage/src/dk/nindroid/rss/orientation
आधिकारिक दस्तावेज flurin से कहा,
नोट: आपके आवेदन एपीआई स्तर को लक्षित करता है 13 या इससे अधिक (के रूप में minSdkVersion और targetSdkVersion विशेषताओं द्वारा घोषित ), तो आप भी "screenSize घोषित करना चाहिए "कॉन्फ़िगरेशन, क्योंकि यह चित्र भी बदलता है जब कोई डिवाइस पोर्ट्रेट और लैंडस्केप ओरिएंटेशन के बीच स्विच करता है।
तो अगर आपके ऐप का लक्ष्य एपीआई स्तर 13 या अधिक, आप के बजाय इस config स्थापित करना चाहिए:
android:configChanges="orientation|screenSize"
सही समाधान है
एंड्रॉयड: configChanges = "उन्मुखीकरण | screenSize"
एंड्रॉइड प्रलेखन:
वर्तमान उपलब्ध स्क्रीन का आकार बदल गया है। यह वर्तमान पहलू अनुपात के सापेक्ष वर्तमान में उपलब्ध आकार में परिवर्तन का प्रतिनिधित्व करता है, इसलिए जब उपयोगकर्ता परिदृश्य और चित्र के बीच स्विच करता है तो बदल जाएगा। हालांकि, यदि आपका एप्लिकेशन एपीआई स्तर 12 या उससे कम लक्षित करता है, तो आपकी गतिविधि हमेशा इस कॉन्फ़िगरेशन को स्वयं ही बदलती है (यह कॉन्फ़िगरेशन परिवर्तन आपकी गतिविधि को पुनरारंभ नहीं करता है, यहां तक कि एंड्रॉइड 3.2 या उच्चतर डिवाइस पर चलते समय भी)। प्रकट में
लिखने:
android:configChanges="orientation|screenSize|keyboardHidden"
और गतिविधि है कि आपके समस्या हल में से ओवरराइड:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}
ऑन कॉन्फ़िगरेशन चेंज विधि को ओवरराइड करना और मूल कार्यान्वयन को कुछ भी उपयोगी करने का आह्वान करना क्यों? – ricosrealm
मैं थोड़ा के लिए इस खिलवाड़ किया गया और फिर relized कि मैनिफ़ेस्ट फ़ाइल के अंदर मैं कॉन्फ़िगरेशन चेंज को एप्लिकेशन स्तर पर डाल रहा था, न कि गतिविधि स्तर पर। यहां कोड जैसा दिखता है जब यह मेरे लिए सही तरीके से काम कर रहा है।
आपको छवि के बजाय अपनी पोस्ट के भीतर कोड साझा करना चाहिए। –
कृपया ** अपनी पोस्ट संपादित करें और स्क्रीनशॉट के बजाय वास्तविक मेनिफेस्ट कोड को टेक्स्ट के रूप में दिखाएं। अन्य आपकी छवियों से कॉपी और पेस्ट नहीं कर सकते हैं। [यहां देखें] (https://meta.stackoverflow.com/a/285557/1402846) विवरण के लिए। धन्यवाद। – Pang
- 1. घूर्णन पर गतिविधि को नष्ट करने का क्या फायदा है?
- 2. डिवाइस व्यवस्थापक निष्क्रिय होने पर एंड्रॉइड डिवाइस को कैसे मिटाया जाए?
- 3. ऑन स्क्रीन को घुमाने पर कॉल नहीं किया जाता है - एंड्रॉइड
- 4. एंड्रॉइड: डेटा को उप-गतिविधियों में कैसे पास किया जाए?
- 5. बैक बटन पर वर्तमान गतिविधि को नष्ट नहीं किया गया है
- 6. एंड्रॉइड में स्टार्टअप गतिविधि को कैसे बदला जाए?
- 7. गतिविधि को नष्ट करने के (सेवा पंजीकृत नहीं है)
- 8. कैमरा पूर्वावलोकन के साथ SurfaceView नष्ट नहीं किया गया है
- 9. MapView को घुमाने के लिए कैसे?
- 10. बहिष्कृत अनुमतियों को कैसे निर्धारित किया जाए?
- 11. किसी भवन में एंड्रॉइड डिवाइस की स्थिति को कैसे ट्रैक किया जाए?
- 12. आईफोन पर डिवाइस कंसोल की सामग्री को कैसे पढ़ा जाए?
- 13. एंड्रॉइड गतिविधि को डायलॉग
- 14. पता कैसे लगाएं कि दृश्य की मूल गतिविधि को नष्ट किया जा रहा है
- 15. गतिविधि को कैसे बताया जाए अधिसूचना क्षेत्र द्वारा कवर किया गया है?
- 16. भवन के एंड्रॉइड इनडोर मानचित्र को कैसे डिज़ाइन किया जाए?
- 17. गतिविधि को अन्य गतिविधि पर पॉप-अप के रूप में कैसे दिखाया जाए?
- 18. एंड्रॉइड एक्शनबार डिवाइस पर विभाजित नहीं होगा
- 19. एंड्रॉइड - ऑन डेस्ट्राय गतिविधि को नष्ट करना चाहता है, इसकी चर और मुक्त मेमोरी
- 20. एंड्रॉइड डिवाइस पर .swf फ़ाइलों को कैसे चलाएं
- 21. एंड्रॉइड डिवाइस पर फ़ोल्डर चुनें
- 22. एंड्रॉइड में स्क्रीन को लैंडस्केप मोड में कैसे रखा जाए
- 23. एंड्रॉइड ग्रहण डीडीएमएस - डिवाइस पर निर्देशिका को कैसे हटाएं?
- 24. मोनो पर आयरनपीथन अनुप्रयोगों को कैसे विकसित किया जाए?
- 25. किसी ऑब्जेक्ट पर पिछली उम्मीदों को कैसे साफ़ किया जाए?
- 26. मेवेन बिल्डिंग को चेतावनियों पर कैसे विफल किया जाए?
- 27. रन समय पर सी # ऑब्जेक्ट को कैसे परिभाषित किया जाए?
- 28. गतिशील पुस्तकालयों पर निर्भर अनुप्रयोग को कैसे तैनात किया जाए?
- 29. आईडी पर आधारित "छोटे यूआरएल" को कैसे उत्पन्न किया जाए?
- 30. फोरग्राउंड (शीर्ष) गतिविधि (एप्लिकेशन) में परिवर्तन होने पर अधिसूचित कैसे किया जाए
इस बार के खिलाफ की सलाह दी है, आप की तरह कुछ के साथ प्रोग्राम के अपने अनुप्रयोगों के उन्मुखीकरण को सेट कर सकें: setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); – stealthcopter
यह क्यों होगा? मान लें कि हमारे पास ऐसी सेवा है जो चलाने में 2 सेकंड लगती है। यदि गतिविधि हर बार नष्ट हो जाती है, तो वह सेवा हर बार चलती रहती है जबकि मुझे इसे एक बार चलाने की आवश्यकता होती है। –