का उपयोग करके रोटेशन समाप्त हो गया है, मैं एक एंड्रॉइड डिवाइस (दो रोटेशन के माध्यम से लूपिंग) को घुमाने के लिए कितना समय लगता है यह मापने के लिए एक। एपीके लिखने की कोशिश कर रहा हूं।पता करें कि setRequestedOrientation
मैं setRequestedOrientation()
के लिए कॉल उपयोग कर रहा हूँ 4 पदों (PORTRAIT
, LANDSCAPE
, REVERSE_PORTRAIT
और REVERSE_LANDSCAPE
) में स्क्रीन reoriente करने के लिए।
मेरी समस्या यह है कि रोटेशन समाप्त होने पर मैं यह बताने में सक्षम नहीं हूं। मैंने कुछ समाधानों की कोशिश की है, लेकिन प्रत्येक में उनकी समस्याएं हैं।
- मैंने का उपयोग करने का प्रयास किया। समस्या यह है कि जब यह सेंसर से अभिविन्यास परिवर्तन होता है, और
setRequestedOrientation()
से नहीं होता है तो यह विधि ट्रिगर हो जाती है।setRequestedOrientation()
पर मेरे पिछले कॉल के बाद काम करने के लिए के लिएFULL_SENSOR
पैरामीटर के साथ मुझे वास्तव मेंsetRequestedOrientation()
पर कॉल करना होगा। - मैंने स्क्रीन अभिविन्यास (डिग्री में) की जांच करने के लिए थोड़ी देर लूप जोड़कर
setRequestedOrientation()
"अवरुद्ध" करने की कोशिश की है। मैंनेandroid.view.Display.getRotation()
कोsetRequestedOrientation()
से पहले बुलाया और जब तक यह बदल नहीं गया है, थोड़ी देर के साथ ब्लॉक करें। दुर्भाग्यवश, यह या तो काम नहीं करता है। यूआई को फिर से चलाने से पहले यह लौटाता है। - मैं, गतिविधि के जीवन चक्र का पालन करने की कोशिश की है
onCreate()
फिर से बुलाया पाने के लिए के लिए, ग्रहण करने के लिए रोटेशन किया गया था इंतजार कर द्वारा। इससे पहले, जब तक मेरा काउंटर एक मूल्य तक नहीं पहुंच जाता, तब तक मैं लूपिंग कर रहा था, प्रत्येक पुनरावृत्ति मेंsetRequestedOrientation()
पर कॉल किया गया। इस परिदृश्य में, मेरा टाइम लूप एक कथन कथन बन जाता है, और मुझे लगता है किonCreate
प्रत्येक बार फ़ंक्शन को कॉल करेगा, लेकिनonCreate()
कुछ पुनरावृत्तियों के बाद कॉल नहीं किया जाता है। यूआई को भी फिर से खींचा नहीं प्रतीत होता है। - एक अंतिम समाधान है कि मैं ऑनलाइन पाया है (लेकिन नहीं है पूरी तरह से लागू करने के लिए सक्षम किया गया)
setRequestedOrientation()
के बादwaitForIdleSync()
विधि सही उपयोग करने के लिए है।waitForIdleSync()
इंस्ट्रुमेंटेशन क्लास का हिस्सा है, और मुझे लगता है कि यह सिर्फ मानक के लिए परीक्षण किया गया है, न कि मानक। एपीके के लिए।
किसी भी विचार का वास्तव में स्वागत किया जाएगा। हम सच में आपकी मदद की सराहना करेंगे।