दिलचस्प पोस्ट
जब कोई सॉर्ट ऑर्डर निर्दिष्ट नहीं होता है तो मॉगोडाब सॉर्ट रिकॉर्ड कैसे करता है? 0.0 और 1.0 के बीच कितने डबल नंबर हैं? PHP conditionals, कोष्ठक की जरूरत है? एक डेटा फ्रेम में कॉलम (ऑब्जेक्ट्स) को क्रमबद्ध करके समूह (क्वार्टिल्स, डिकाइल, इत्यादि) को जल्दी कैसे तैयार किया जाए WordPress रूट निर्देशिका पथ पुनर्प्राप्त करें? जीएसएएन का उपयोग करते हुए बेतरतीब ढंग से जेनरेट किए गए और असंगत JSON फ़ील्ड / कुंजी नामों से निपटना क्या मैं जावा में संदर्भ के आधार पर पैरामीटर पास कर सकता हूं? क्या कोई "डोम परिवर्तन पर" ईवेंट है? फ्लेक्सबॉक्स में अंतिम मार्जिन / पैडिंग गिरने कार्यों में `…` (तीन-डॉट या डॉट-डॉट-डॉट) का उपयोग काउंटर नाम डेटा लोड नहीं किया जा सकता है क्योंकि एक अमान्य अनुक्रमणिका -अपापन PHP $ सरणी में क्या बेहतर है = $ मान या array_push ($ सरणी, $ मान)? लाइब्रेरी v21 को अपग्रेड करने के बाद प्राथमिकता में कोई एक्शनबार नहीं osx 10.10 एचटीटीपीएस यूआरएल के लिए कर्ल पोस्ट SSLRead () त्रुटि देता है गिटग्नोर बहिष्करण नियम वास्तव में कैसे काम करते हैं?

Android पर स्क्रीन रोटेशन को रोकें

मुझे अपनी गतिविधियों में से एक है जो मैं घूमने से रोकना चाहूंगा क्योंकि मैं एक एसिंकटस्क शुरू कर रहा हूं, और स्क्रीन रोटेशन इसे पुनरारंभ करता है।

क्या इस गतिविधि को बताने का कोई तरीका है "उपयोगकर्ता स्क्रीन पर घुसने के बावजूद भी उपयोगकर्ता अपने फोन को पागल जैसी हिला कर रहा है"?

वेब के समाधान से एकत्रित समाधान "Android पर स्क्रीन रोटेशन को रोकें"

android:screenOrientation="portrait" जोड़ें android:screenOrientation="portrait" या landscape में <activity> तत्व / एस के लिए android:screenOrientation="portrait" और आपका काम हो गया है

जब आप अपने AsyncTask चल रहा है, तो स्वत: बारी बारी से स्क्रीन को रोकने के लिए नीचे तर्क का अनुसरण कर सकते हैं:

  1. getRequestedOrientation() का उपयोग करते हुए अपनी गतिविधि के getRequestedOrientation() अपनी वर्तमान स्क्रीन अभिविन्यास को स्टोर करें।
  2. setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR) का उपयोग करके ऑटो स्क्रीन अभिविन्यास अक्षम करें।
  3. अपने AsyncTask चलाने / निष्पादित करें
  4. अपने AsyncTask के अंत में setRequestedOrientation(oldOrientation) का उपयोग कर अपनी पिछली ओर उन्मुखीकरण स्थिति को पुनर्स्थापित करें।

कृपया ध्यान दें कि एक AsyncTask अंदर Activity (जो UI थ्रेड पर चलता है) को एक्सेस करने के कई तरीके हैं आप अपने AsyncTask को एक आंतरिक वर्ग के रूप में लागू कर सकते हैं या आप संदेश Handler उपयोग कर सकते हैं जो आपके Activiy कक्षा को प्रहार कर सकता है।

आपकी मैनिफ़ेस्ट फ़ाइल में, प्रत्येक गतिविधि के लिए जिसे आप स्क्रीन रोटेशन को लॉक करना चाहते हैं: यदि आप इसे क्षैतिज मोड में लॉक करना चाहते हैं:

 <activity ... ... android:screenOrientation="landscape"> 

या यदि आप उसे ऊर्ध्वाधर मोड में लॉक करना चाहते हैं:

 <activity ... ... android:screenOrientation="portrait"> 

सबसे आसान तरीका मुझे ऐसा करने के लिए मिला था डाल दिया

 this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

भीतर के भीतर, बस के बाद

 setContentView(R.layout.activity_main); 

इसलिए…

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } 

Activity.java

 @Override public void onConfigurationChanged(Configuration newConfig) { try { super.onConfigurationChanged(newConfig); if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { // land } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { // port } } catch (Exception ex) { } 

AndroidManifest.xml

  <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name="QRCodeActivity" android:label="@string/app_name" android:screenOrientation="landscape" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> 

AndroidManifest में जाने के बजाय, आप यह कर सकते हैं:

 screenOrientation = getResources().getConfiguration().orientation; getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LOCKED); ... AsyncTask screenOrientation = getResources().getConfiguration().orientation; @Override protected void onPostExecute(String things) { context.setRequestedOrientation(PlayListFragment.screenOrientation); or context.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR); } 

यहां केवल एक दोष यह है कि उसे एपीआई स्तर 18 या अधिक की आवश्यकता है। तो मूल रूप से यह भाला की नोक है

AndroidManifest.xml में गतिविधि पर निम्न विशेषता आपको केवल आवश्यकता है:

 android:configChanges="orientation" 

इसलिए, पूर्ण गतिविधि नोड होगा:

 <activity android:name="Activity1" android:icon="@drawable/icon" android:label="App Name" android:excludeFromRecents="true" android:configChanges="orientation"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> 

जोड़ें:

 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR); ... ... ... } 

यदि आप एंड्रॉइड डेवलपर टूल (एडीटी) और एक्लिप्स का प्रयोग कर रहे हैं तो आप अपने एंड्रॉयड मैनिफ़ेस्ट.एक्सएमएल -> एप्लीकेशन टैब पर जा सकते हैं -> नीचे जाकर अपनी गतिविधि का चयन करें अंत में, अपनी पसंदीदा ओरिएंटेशन चुनें आप कई विकल्पों में से एक का चयन कर सकते हैं।

आपको manifest.xml फ़ाइल में निम्न कोड जोड़ना होगा। जिस गतिविधि के लिए इसे बारी बारी से नहीं करना चाहिए, उस गतिविधि में इस तत्व को जोड़ना

 android:screenOrientation="portrait" 

तो यह घुमाएगी नहीं।