2010-11-28 14 views
7

मैं कुछ दिलचस्प गतिविधि प्रवाह दिखाई दे रही है जब एंड्रॉयड स्क्रीन बंद हो जाती है और स्क्रीन को लॉक किए ... मेरे ऐप नियमित प्रवाह, onCreate, onStart और onResume के माध्यम से चला जाता है। फिर, मैंने अपने फोन को वहां बैठने दिया। जब स्क्रीन काला हो जाती है, तो पॉज़ कहा जाता है। कोई बात नहीं। फिर 5 सेकंड बाद, ऐप मारे गए (ऑनस्टॉप, ऑनस्ट्रोय)। यह भी ठीक है। लेकिन तुरंत के बाद OnDestroy कहा जाता है, onCreate, onStart और onResume, कहा जाता है अनुप्रयोग भले ही स्क्रीन रिक्त है पुन: प्रारंभ। ऐप में लोड समय होता है, और जब यह शुरू होता है तो यह ध्वनि बजाता है, इसलिए जब आप 30 सेकंड पहले सेट करते हैं तो फोन डरावना लगता है, तो यह डरावना है। एंड्रॉइड ऐप को क्यों मारता है फिर इसे पुनरारंभ करता है? लक्ष्य 2.1-अपडेट है, और फोन सैमसंग कैप्टिवेट है। कोई और इसे देख रहा है, और इसे रोकने के लिए एक रास्ता पता है?स्क्रीन बंद होने पर फंकी एंड्रॉइड गतिविधि व्यवहार?

उत्तर

3

यह हो सकता है कि आप जो देख रहे हैं, लेकिन मेरे फोन पर ऐसा कुछ नहीं होता है क्योंकि नींद मोड हमेशा एक अभिविन्यास में होता है, और यदि ऐप दूसरे में था तो नींद अभिविन्यास में इसे मार दिया और फिर से बनाया गया। .. अगर आप मुझसे पूछें तो उपनिवेशिक।

इस तरह के अपने स्टार्टअप के रूप में

यह मेरे लिए लगता है कि आप चीजों को नहीं हो सकता है पर्याप्त रूप से विशिष्ट कारणों से बंधा ध्वनि। यदि आप "चालू" होने पर फ़ोन घुमाते हैं तो क्या होता है? किसी भी दर पर, आपको यह पता लगाने में सक्षम होना चाहिए कि स्क्रीन चालू नहीं है और असली स्टार्टअप नहीं कर रही है (या स्थगित)।

एक अंतर्निहित उन्मुखीकरण परिवर्तन दोषी है, तो आप बदल सकते हैं कि कैसे अपने आवेदन इन के साथ व्यवहार किया जाता है - चीजें आपके आवेदन के बजाय फिर से बनाना होने के फ्लाई पर बदल सकते हैं का दावा करने के लिए सेट करें।

+0

मुझे लगता है कि क्रिस स्ट्रैटन यहाँ सही है। http://stackoverflow.com/questions/456211/activity-restart-on-rotation-android – Nailuj

+0

एप्लिकेशन लैंडस्केप मोड में लॉक हो गया है: आप यह भी कि यह कैसे संबंधित सवाल में इस से निपटने के लिए पर कुछ और जानकारी मिल सकती है। अभिविन्यास को चालू करते समय बदलना कोई प्रभाव नहीं पड़ता है। लेकिन मैं देख सकता हूं कि कैसे एंड्रॉइड नींद के दौरान पोर्ट्रेट मोड में इसे पुनरारंभ करने का प्रयास कर रहा है। दिनचर्या के लिए शिकार करने का समय जो मुझे बता सकता है कि स्क्रीन चालू है या नहीं। – dwrussell2

+0

स्क्रीन पर सोने के दौरान आप लॉगकैट को देखने का प्रयास करना चाहेंगे, अगर आपके पास यूनिक्स जैसी विकास मशीन है तो आप adb logcat जैसे कुछ कर सकते हैं। टी लॉगफाइल और वापस जाओ और बाद में देखो। यदि यह नींद अभिविन्यास की बात कर रहा है, तो आप लॉगफाइल को देखकर लॉगफाइल –

3

गतिविधि के प्रदर्शन में, प्रत्येक आवेदन के लिए जोड़ें:

android:configChanges="orientation|keyboardHidden" 

यह बताता है Android, आपके इन दो मामलों को संभाल लेंगे - हालांकि निश्चित रूप से तुम झूठ बोल रहे हैं: आप उन्हें संभालने के लिए गंदगी से काम नहीं चलेगा , लेकिन एंड्रॉइड उसे नहीं जानता है। यह ऐप्स/गेम्स/आदि के लिए बहुत अच्छा काम करता है उदाहरण के लिए लैंडस्केप मोड में चल रहा है और कभी भी उन्मुखीकरण नहीं बदलता है।

+0

धन्यवाद! यह केवल इस तरह से काम करता है एंड्रॉइड: configChanges = "अभिविन्यास", लेकिन यह मेरे लिए अच्छा था। –

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