2013-05-02 9 views
7

मैं एंड्रॉइड टैबलेट के लिए एक एप्लिकेशन को समर्पित करने की कोशिश कर रहा हूं।एंड्रॉइड एप्लिकेशन को बंद करने के लिए सभी तरह से ब्लॉक करें

यह टैबलेट सार्वजनिक रूप से दिखाया जाएगा और वे इसे स्पर्श कर सकते हैं।

मैं पासवर्ड पूछने वाले बटन/वरीयता मेनू को छोड़कर ऐप को बंद करने के लिए सभी तरह से अवरुद्ध करूंगा।

लेकिन कुछ शोध के बाद मैं सुर नहीं हूं यह संभव है कि मेरा मतलब है कि पावर बटन पर अभी भी लंबे समय तक प्रेस करें, होम बटन भी काम करें और वापस लौटें। तो सवाल यह है कि यह संभव है और यदि यह कैसे है?

+0

अचानक अचानक अस्वीकार्य क्यों जवाब दिया? –

+0

मैंने अभी कुछ नई सुविधा खोजी है जो इसे संभव बनाता है लेकिन मैं अपने ज्ञान के अनुसार – Jebik

+0

पोस्ट करने से पहले कुछ परीक्षण करता हूं, यदि आप रास्ता पाते हैं, तो बस कोड पोस्ट करें, जिसे हम जानते हैं, हम उसे बिना किसी इंटरैक्शन के प्राप्त कर सकते हैं। –

उत्तर

1

मैं अंत में इस

इस

GetWindow के बारे में कोई दस्तावेज़ करने के लिए एक रास्ता मिल गया है() .getDecorView() setSystemUiVisibility (8)।

लेकिन 8 पूरी तरह से सिस्टम यूआई को अक्षम करने के लिए एक छिपे हुए ध्वज है, यह आपका ऐप स्थायी रूप से पूर्ण स्क्रीन में है (अगर आप इसे बंद करने के लिए एक तरीका रखते हैं तो सावधान रहें) 8 ध्वज पूरी तरह से अनियंत्रित है इसलिए मैं ' मैं आपको इस काम के संस्करण के बाद बताता हूं कि मैं 4.0 और 4.1 के लिए dev dev यह दोनों के लिए काम करता है। 3.0 के लिए डुनो लेकिन इसका प्रयास करने के लिए कोई डिवाइस नहीं है।

और में android.permission.EXPAND_STATUS_BAR मत भूलना अपने प्रकट

इस सही नहीं है क्योंकि अगर आप कुछ चेतावनी संवाद का उपयोग SystemUI दिखाई देने लगते हैं, लेकिन अगर आप किसी भी उपयोग नहीं करते आप छोड़ने नहीं कर सकते कुछ देर दबाकर सत्ता एक powerpopup जो सिस्टम UI दिखाई भी

बनाने बनाने लेकिन तुम मार सकते हैं यह तेजी से बुद्धि निम्न विधि

public void onWindowFocusChanged(boolean hasFocus) { 
super.onWindowFocusChanged(hasFocus); 
if(!hasFocus) { 
    Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS); 
    sendBroadcast(closeDialog); 
    } 
} 

आप ऐसा करते हैं तो आप अब अपने एप्लिकेशन से बाहर निकलने नहीं कर सकते हैं (या मैं भूल गया क्लॉ के लिए एक रास्ता क्या यह) इसलिए याद रखें 2 रों में SureLock (एप्लिकेशन playstore पर avaible), 3touch की तरह कुछ बनाने के लिए पहले एक गतिविधि है जो एक पास छोड़ने की यह

आशा इस मदद कर सकते हैं पूछना लांच और पूरा हो गया है

और एक अंतिम प्रश्न अभी भी unnwsered क्या हम सेट सिस्टम सिस्टम दृश्यता (8) को कॉल करने के लिए एक चेतावनी दृश्य को अनुकूलित कर सकते हैं; क्योंकि बैटरी एक चेतावनी बनाने या अगर आपको लगता है कि आप वास्तव में एक चेतावनी की जरूरत है, इस प्रणाली यूआई दिखाएगा, जबकि आप चेतावनी दिखाई

+0

मैंने कोशिश की है लेकिन मैं होम बटन दबा सकता हूं । –

+0

आपकी डिवाइस क्या है? मैं भी अपने गैलेक्सी टैब में कर सकता हूं लेकिन मैंने अपना ऐप डिफॉल्ट होम के रूप में सेट किया है, इसलिए होम बटन पर सिंगल प्रेस कुछ भी नहीं है – Jebik

+0

मैं सैमसंग गैलेक्सी नेक्सस –

2

मुझे यकीन है कि यह आपके एंड्रॉइड डिवाइस पर नियंत्रण रखने के लिए ट्रोल एप्लिकेशन से बचने के लिए डिवाइस पर रूट पहुंच के बिना नहीं किया जा सकता है, यदि आप इसे चलाने के लिए होते हैं।

+0

मैं रूट हो सकता हूं लेकिन इस ऐप के बाद बहुत सारे डिवाइस पर इंस्टॉल हो जाएगा और मुझे नहीं पता कि क्या सभी रूट प्रक्रिया क्लाइंट द्वारा की जा सकती है ... – Jebik

3

पहले से ही stackoverflow में पूछे जाने वाले प्रश्नों में

Home Button

Return Button

Power Button

+0

हाँ मैं कुछ खोजता हूं लेकिन वे कुछ लोगों के लिए यह संभव नहीं कहते हैं कि अगर किसी को यह करने के लिए किसी भी तरह से पता है तो मैंने अक्षम क्यों किया है – Jebik

1

सीधे शब्दों में यदि आप ऐसा नहीं कर सकते हैं, तो आप करने के लिए उपयोगकर्ता को रोक नहीं सकते आप सभी जवाब पा सकते हैं Home Button

दबाकर आप बैक प्रेस को अवरुद्ध कर सकते हैं घटना

आप onAttachedToWindow() का उपयोग कर घर बटन दबाने से उपयोगकर्ता को रोक सकता है, लेकिन इस से काम नहीं कर सकता एंड्रॉयड 3.2

0

है सबसे पहले आप अपने प्रकट

<activity android:name=".MainActivity"> 
      <intent-filter> 
       <action android:name="android.settings.SETTINGS" /> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.HOME" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 

      </intent-filter> 
    </activity> 
से घर के रूप में अपने आवेदन जोड़ने की जरूरत

ऐड ध्वज के बाद

getWindow().addFlags(WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY); //(dont forget to add flag before `setContentView`) 

अक्षम डिवाइस लॉक

private void disableLock() { 

     KeyguardManager keyguardManager = (KeyguardManager) getSystemService(MainActivity.KEYGUARD_SERVICE); 
     KeyguardManager.KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE); 
     lock.disableKeyguard(); 
    } 

अक्षम घर पर क्लिक करें

@Override 
    protected void onUserLeaveHint() { 
     startActivity(new Intent(MainActivity.this,MainActivity.class)); 
     finish(); 
     super.onUserLeaveHint(); 
    } 

चलाने के बाद आपको अपना ऐप होम एप्लिकेशन पर सेट करने की आवश्यकता है !!!

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

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