2015-12-03 6 views
8

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

Nexus 10 without the home and navigation buttons

यह एक नेक्सस 10 पर परिणाम हम पूरा किया है कि SystemUI सूत्रों लेने और CyanogenMod संकलन से पहले उन्हें बदलने के द्वारा।

दुर्भाग्य से हमें इसे एसस जेनपैड 10 में दोहराना है, जिसमें कोई साइनोजनमोड उपलब्ध नहीं है। हमारे पास एक ऐसा संस्करण है जो हमें सिस्टम एप्लिकेशन बनाने की इजाजत देता है, लेकिन प्रत्येक एप्लिकेशन को सिस्टम एप्लिकेशन में बदलना कुछ ऐसा नहीं है जिसे हम चाहते हैं।

हम इस कड़ी में पाया है: http://developer.oesf.biz/em/developer/reference/eggplant/constant-values.html#android.view.View.STATUS_BAR_DISABLE_HOME

वहाँ घर बटन और नेविगेशन बटन को निष्क्रिय करने के लिए झंडे हैं, लेकिन वे केवल सिस्टम एप्लिकेशन के साथ प्रयोग करने योग्य हैं यही कारण है कि।

हमने पहले से ही टैबलेट में संकलित SystemUI.apk प्राप्त करने का प्रयास किया है, इसे संकुचित कर दिया है और इसे बदल दिया है। समस्या यह है कि हमारे पास बेकार स्माली फाइलें हैं या केवल res/and AndroidManifest.xml फाइलें हैं (Asus ने SystemUI.apk को अपने स्वयं के दो एपीके में बदल दिया है)।

तो ... हम यहाँ थोड़ा हताश हैं आह। उस बटन को हटाने का प्रयास करने के लिए संकेत/विचार ढूंढ रहे हैं। बिना किसी अजीब चीज को सुधारने या करने के बिना बेहतर।

+0

आप किसी अन्य हैक कोशिश कर सकते हैं, तो आप सिर्फ एक अनुप्रयोग fulscreen चल जरूरत है प्राप्त कर सकते हैं एक लांचर आवेदन के रूप में अपने आवेदन निर्धारित है। आप पृष्ठभूमि में सेवा चला सकते हैं, जो समय-समय पर जांच करेगा कि आपका पूर्णस्क्रीन एप्लिकेशन सक्रिय है या नहीं, और जब उपयोगकर्ता आपका ऐप छोड़ने का प्रयास करता है, तो सेवा तुरंत आपके ऐप को फिर से शुरू कर देती है। यह वही नहीं है जो आप चाहते हैं, लेकिन हो सकता है कि यह –

उत्तर

0

आप उपयोगकर्ता को अनुमति मांगेंगे। इस कार में यह स्वयं है। सावधान रहें क्योंकि आपको आवेदन से बाहर निकलने का तरीका वापस करना होगा।

संदर्भ: disable home

या आप बस इसे चारों ओर रहना है, तो बटन नहीं दिखाई देंगे एक मामले खरीद सकता है ...

+0

दुर्भाग्यवश मदद कर सके कि समाधान स्थायी नहीं है ..क्या यह? हमें नेविगेशन बार को फिर से सक्षम करने के लिए उपयोगकर्ता से बचना चाहिए – Filnik

+0

यदि आप स्थायी हैं, तो आप इसे फिर से सक्षम करने के लिए कैसे जा रहे हैं? – SamuelD

+0

ऐसा कुछ: https://play.google.com/store/apps/details?id=com.kiddoware.kidsplace&hl=hi? – SamuelD

3

यह Immersive Full-Screen Mode के साथ संयुक्त तरह अनुमतियों के संयोजन का उपयोग संभव है SYSTEM_UI_FLAG_HIDE_NAVIGATION और SYSTEM_UI_FLAG_FULLSCREEN झंडे। ये झंडे नेविगेशन और स्टेटस बार को छुपाते हैं, अब आपके पास एक खाली स्क्रीन है जो स्क्रीन के निचले हिस्से में एक रैखिक लॉयआउट डालती है, केवल पीछे की आइकन दिखाई देती है, बस आप जो चाहते हैं उसका प्रभाव बनाने के लिए। यह भी ध्यान रखें कि यह समझना महत्वपूर्ण है कि एक बार जब उपयोगकर्ता ऊपर की ओर जाता है तो सामान्य नेविगेशन बार दिखाई देगा (सुनिश्चित नहीं है कि इसे इंटरसेप्ट टच इवेंट के माध्यम से संभाला जा सकता है)।

वैकल्पिक रूप से आप इस समाधान यहाँ उल्लेख भी How to disable Home and other system buttons in Android?

भी इस GitHub परियोजना का उल्लेख की कोशिश कर सकते हैं (यदि काम करता है वहाँ केवल एक हार्डवेयर नेविगेशन बटन है) https://github.com/shaobin0604/Android-HomeKey-Locker

इतना ही नहीं बल्कि एक भी नहीं है commsware द्वारा जवाब जो इस विषय पर अधिक प्रकाश डालता है काम में आ सकता है। Not able disable Home button on specific android devices

+0

धन्यवाद, लेकिन मैंने आपके द्वारा प्रस्तावित हर समाधान की कोशिश की है लेकिन मामले के अनुरूप कुछ भी नहीं है। पहला एक ठीक है, लेकिन हमें एक स्थायी समाधान की आवश्यकता है, ऐसा कुछ नहीं जो उपयोगकर्ता से बच सके। दरअसल, लॉन्चर ने पहले ही बटन हटा दिए हैं, लेकिन हमारे ऐप की गतिविधि उन्हें दोबारा रखती है .. शायद हम यह टालने का प्रयास कर सकते हैं कि गतिविधि बटन रीसेट करे (हालांकि यह नहीं पता कि इसे कैसे किया जाए) – Filnik

+0

विसर्जन मोड सहित इसे जांचें। http://developer.android.com/training/system-ui/immersive.html –

+0

हाँ, उपयोग उस – Filnik

0

उपयोग तल्लीन मोड, (onResume में इस कोड) ताकि हर आप अपनी गतिविधि अपने चलने के वापस मिल का उपयोग करें और वे

छुपा दिया जाता है
View decorView = getWindow().getDecorView(); 
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
          | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 
          | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 
          | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 
          | View.SYSTEM_UI_FLAG_FULLSCREEN 
          | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); 
+0

हाँ के लिए उपयुक्त नहीं है, लेकिन यह तय नहीं है। उपयोगकर्ता – Filnik

1

प्रयास करें Android for work APIs और refer here इस API आपको मिल सकता है का उपयोग करना डिवाइस का पूर्ण नियंत्रण और जो कुछ भी आप चाहते हैं उसे अक्षम करें। डिवाइस का उपयोग केवल एक ऐप के लिए किया जा सकता है।

कॉर्पोरेट स्वामित्व वाली, एकल-उपयोग (सीओएसयू) साझा या विशेष उपयोग उपकरणों के लिए कॉर्प-उत्तरदायी परिदृश्य का एक उप-समूह है। व्यक्तिगत कर्मचारियों से जुड़े कॉर्प-लाइब्रेबल डिवाइसों के विपरीत, सीओएसयू डिवाइस विशेष व्यावसायिक कार्यों से जुड़े होते हैं। उदाहरण के लिए, एक सीओएसयू डिवाइस काओस्क के रूप में इस्तेमाल किया जा सकता है।

तुम भी पहले भी लॉलीपॉप आदि उपलब्ध कराने के लिए कस्टम एमडीएम (मोबाइल डिवाइस प्रबंधन) OEMS/एमडीएम विक्रेताओं/सैमसंग की तरह एमडीएम भागीदारों, एचटीसी, AirWatch आदि उपकरणों पर इस काम के द्वारा प्रदान की समाधान एकीकृत करने के लिए कोशिश कर सकते हैं डिफ़ॉल्ट एंड्रॉइड समाधान द्वारा प्रदान की गई डिवाइस को नियंत्रित करने के लिए एपीआई।

मुझे पता है सैमसंग एमडीएम/नॉक्स समाधान अच्छा है और इसमें डिवाइस के प्रत्येक हिस्से को नियंत्रित करने के लिए एपीआई हैं। संदर्भ- http://www.samsung.com/levant/business/solutions-services/mobile-solutions/security/mobile-device-managementउनके पास कियोस्क मोड है जो सीओएसयू के समान है।

+0

से बच सकता है टिप। ऐसा लगता है कि यह सबसे अच्छा जवाब है, लेकिन मुझे यह जांचना है कि यह वास्तव में लॉलीपॉप पर काम करता है या नहीं। – Filnik

+0

मुझे Google द्वारा एक उत्तर का इंतजार करना होगा :(हम देखेंगे कि वे समय पर जवाब देंगे – Filnik

+0

@ फ़िलनिक मुझे लगता है कि यह लॉलीपॉप पर भी काम करता है। अन्यथा आप OEMS/अन्य विक्रेताओं द्वारा प्रदान किए गए समाधानों का प्रयास कर सकते हैं यदि यह संभव हो। उत्तर भी अपडेट किया गया। –

0
बेशक

, आप की तरह निकाल सकता है नहीं किसी भी सिस्टम बटन रों पावर, वॉल्यूम +/-, होम, वापस या मेनू। आप केवल छुपाने या (ठोस बटन रों के विपरीत) होम, वापस या मेनू ही दिखाए जाएं वे आभासी हैं कर सकते हैं।

इस बीच, नेविगेशन बार छुपाएं सीमित है। यह केवल एंड्रॉइड 4.0 और उच्चतर पर पूरा किया जा सकता है। इसलिए, यदि आप ऐसा करना चाहते हैं, तो आपको SYSTEM_UI_FLAG_HIDE_NAVIGATION ध्वज का उपयोग करने की आवश्यकता है। यह टुकड़ा खाल दोनों नेविगेशन पट्टी और स्थिति पट्टी:

View decorView = getWindow().getDecorView(); 
// Hide both the navigation bar and the status bar. 
// SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as 
// a general rule, you should design your app to hide the status bar whenever you 
// hide the navigation bar. 
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 
       | View.SYSTEM_UI_FLAG_FULLSCREEN; 
decorView.setSystemUiVisibility(uiOptions); 

और, आप नेविगेशन पट्टी के पीछे प्रकट करने के लिए आपके आवेदन की सामग्री के सेट करना चाहते हैं, तो आप SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION ध्वज की जरूरत है। आपके ऐप को स्थिर लेआउट बनाए रखने में सहायता के लिए आपको SYSTEM_UI_FLAG_LAYOUT_STABLE का उपयोग करने की आवश्यकता हो सकती है।

0

मैं समय की एक लंबी अवधि के लिए एक ही करने की कोशिश की और एक बहुत खोज की, लेकिन जैसा कि आप जानते होम बटन उपयोगकर्ता किसी भी स्थिति में किसी भी अनुप्रयोग से बाहर निकलने के लिए के लिए एक ही रास्ता है है। इसे अवरुद्ध करने के लिए यह बहुत जोखिम भरा है और Google इसे अनुमति नहीं देगा।

एक बात आप कर सकते हैं तो यू keyevent होम

+0

लिंक-केवल उत्तर यहां अत्यधिक निराश हैं क्योंकि लिंक भविष्य में मृत हो सकते हैं। मेरा सुझाव है कि आप उद्धरण के स्रोतों के उद्धरण के साथ अपना उत्तर संपादित करें। –

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