2012-02-28 49 views
7

ठीक है, मुझे पूरा यकीन है कि यह संभव नहीं है लेकिन क्लाइंट ने मुझे हमारे एंड्रॉइड एप्लिकेशन में से एक में ऐसा करने के लिए कहा था जिसे हमने उसके लिए विकसित किया था।एंड्रॉइड में "फोर्स स्टॉप" बटन को अक्षम करना

Settings > Manage Application > [Our Application] 

, के लिए "सेना बंद करो" बटन को अक्षम है:

क्या वह चाहता था कि हमारे आवेदन चल रहा है, और उपयोगकर्ता नेविगेट करने के लिए करता है, तो है।

क्या यह संभव है? यदि यह संभव है, तो क्या कोई मुझे बता सकता है कि मुझे किस तरह से चलना चाहिए, या यदि यह संभव नहीं है, तो तथ्यों के आधार पर वैध तर्क का उपयोग करके, क्या मुझे खबर तोड़नी चाहिए।

अद्यतन: वह सिर्फ मुझे एक स्क्रीनशॉट है कि, उसकी राय में, उसके अनुरोध वहाँ एक Android एप्लिकेशन है अक्षम कर देता है "सेना बंद करो" बटन है इस बात को मान्य भेजा है। मैं उसे कैसे समझाऊं?

Evernote Launcher - Force Stop disabled

+0

यह केवल एप्लिकेशन कोड में संभव नहीं है। मैं केवल यह चाहते हुए दुर्भावनापूर्ण कारणों के बारे में सोच सकता हूं। आपको एंड्रॉइड ओएस की अपनी ऑफ-शूट लिखनी होगी। – Spidy

+0

वह उसे अक्षम क्यों करना चाहती है? असली इच्छा को पूरा करने के लिए एक और तरीका पेश करते समय आप उसे तोड़ने में सक्षम हो सकते हैं। यह टोडलर लॉक की तरह कुछ के लिए हो सकता है; यदि स्वीकार्य हो तो आपका ऐप तत्काल पुनरारंभ होता है तो यह स्वीकार्य हो सकता है। –

+0

@ जुलिएनफोन्डरेन मैं वास्तव में पूरी तरह से यकीन नहीं कर रहा हूं कि वह इसे पहले स्थान पर क्यों चाहती थी। अगर मुझे अनुमान लगाना है, तो ऐसा इसलिए था क्योंकि हमने जो ऐप विकसित किया था वह एक अनूठा ऐप नहीं है (आप आसानी से बाजार पर एक विकल्प पा सकते हैं), लेकिन क्योंकि यह एक कॉर्पोरेट ग्राहक है, वह नहीं चाहती कि उसके उपयोगकर्ता दिखें एक विकल्प के लिए और उन्हें इसके बजाय अपने ऐप का उपयोग करने के लिए मजबूर किया। –

उत्तर

11

इस महान कारण के लिए दूर से संभव नहीं है,।

आपको उसे बताना चाहिए कि यह संभव बनाना एक बड़ी सुरक्षा आपदा होगी। कल्पना कीजिए कि क्या होगा यदि आप ऐसे ऐप्स बना सकते हैं जो आपके प्रोसेसर समय पर जागृत होकर जागते हैं, और आप उन्हें मार नहीं सकते। यह भयानक होगा।

सामान्य रूप से, यदि आप सोच रहे हैं कि क्या आप डिवाइस के "अतिरिक्त ऐप" व्यवहार को संशोधित कर सकते हैं, तो उत्तर आमतौर पर * नहीं * है। आपको दृष्टिकोण लेना चाहिए कि डिवाइस पर कुछ भी आपके ऐप के अलावा नियंत्रण में नहीं है और (सीमित सीमा तक) संसाधन जिनके लिए आपको पहुंच प्रदान की जाती है।

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

+0

मुझे लगता है कि वे उपयोगकर्ताओं को इस एप्लिकेशन का उपयोग अन्य अनुप्रयोगों के लिए कहीं और देखने के लिए (और उपयोग) करने की कोशिश करने के बजाय "बल" करना चाहते थे (जो, ऐप की प्रकृति को देखते हुए, बहुत सारे विकल्प हैं)। –

+0

ठीक है, यह निश्चित रूप से सटीक प्रकार के व्यवहार के रूप में गिना जाता है जिसे हम वास्तव में * अनुमति नहीं देते *! –

+0

तो, संक्षेप में, क्या मैं उससे कह सकता हूं कि इस व्यवहार की अनुमति नहीं है क्योंकि ऐप को लगातार चलने के लिए मजबूर कर रहे हैं, हम कई चीजों को त्यागने जा रहे हैं। उपयोगकर्ता अनुभव, शायद? या आपके पास कोई अन्य सुझाव है? मेरे पास वास्तव में मेरी टीम में किसी गैर-तकनीकी, व्यवसायिक व्यक्ति से बात करने के लिए कोई नहीं है :( –

4

मुझे लगता है कि डिवाइस स्क्रीन शॉट ने हमें भ्रमित कर दिया है। यहां तक ​​कि मैं डिवाइस पर स्थापित अपना एप्लिकेशन भी दिखा सकता हूं और "फोर्स स्टॉप" बटन अक्षम है। जहां मैंने कुछ विशिष्ट नहीं किया है।

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

सादर,

राजन

+0

हां, @ राजन, यह वास्तव में मेरा संदेह है जब मुझे यह स्क्रीन शॉट प्राप्त हुआ। हालांकि, जैसा कि मैंने पहले कहा है, मैं उससे दो टाइमज़ोन दूर हूं इसलिए सीधी चर्चा पूरी तरह से संभव नहीं है। –

+3

evernote के बल स्टॉप बटन सक्षम का एक स्क्रीनशॉट वापस भेजें। –

2

अरे मुझे लगता है कि "सेना बंद करो" बटन को निष्क्रिय करने के ... जाँच बाजार यह एक ही कर रही है से कैसपर्सकी माता पिता नियंत्रण बहुत संभव है। इसकी सेवा पृष्ठभूमि में चल रही है तो बल स्टॉप बटन अक्षम भी है।

आवेदन सेवा पृष्ठभूमि

4

आईसीएस से में चल रहा है, बलपूर्वक बंद करें अक्षम करने के लिए संभव है। Device Administration API का उपयोग करें: अपने अनुप्रयोग एक सक्रिय डिवाइस नियंत्रक है तो ढांचा उपयोगकर्ता प्रक्रिया

+0

यह आईसीएस और आगे से कैसे संभव है। मेरा आवेदन डिवाइस व्यवस्थापक है, अब मैं इसे और कैसे ले सकता हूं? कोई सुराग या कोड? –

+0

@ android.learner.fresher डिवाइस व्यवस्थापक सक्षम है? – nandeesh

+0

हाँ एप्लिकेशन अब डिवाइस व्यवस्थापक –

8

"सेना बंद करो" बटन

लघु जवाब अक्षम कैसे को मारने के लिए अनुमति नहीं दी जाएगी।

मेरे क्लाइंट को यह कैसे समझाया जाए?

अपने ग्राहक को this दिखाएं। यह एक अच्छा स्लाइड शो है जो डिवाइस एडमिनिस्ट्रेशन एपीआई और इसके उपयोगों के बारे में आसानी से समझने वाला अवलोकन प्रदान करता है।

मैं कैसे प्रदर्शित करूं कि यह काम करता है?

हां, अपने काम पर वापस जाएं। ऊपर दिए गए एपीआई लिंक का उपयोग करें और एपी डेमो Google के sample collection में शामिल है ताकि यह पता लगाया जा सके कि इसे अपने ऐप में कैसे एकीकृत किया जाए।

  1. डेमो बनाएं और इसे अपने डिवाइस पर चलाएं।
  2. API Demos->App->Device Admin->General->Enable admin चुनें।
  3. डिवाइस एडमिनिस्ट्रेशन एपीआई आपको अपनी सक्षम स्क्रीन के साथ संकेत देने के बाद Activate चुनें।
  4. ऐप से बाहर निकलें और ऐप को अपने डिवाइस के सेटिंग मेनू के माध्यम से प्रबंधित करने का प्रयास करें (इस चरण के लिए विनिर्देश डिवाइस द्वारा भिन्न होते हैं)।
  5. एपी डेमो की "ऐप जानकारी" स्क्रीन को देखते समय, आपको Force Stop और Uninstall दोनों अक्षम होना चाहिए।

मैं अपने ऐप में यह कैसे कर सकता हूं?

समीक्षा DeviceAdminSample.java प्रेरणा के लिए एपीआई प्रदर्शन अनुप्रयोग में। आप की आवश्यकता होगी निम्नलिखित:

     // Launch the activity to have the user enable our admin. 
        Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); 
        intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mDeviceAdminSample); 
        intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, 
          mActivity.getString(R.string.add_admin_extra_app_text)); 
        startActivityForResult(intent, REQUEST_CODE_ENABLE_ADMIN); 

हालांकि, कुछ अन्य टुकड़े आप प्राप्त करने की आवश्यकता होगी यह काम करने के लिए देखते हैं:

निम्नलिखित कोड क्या सक्रियण स्क्रीन को लाता है

  1. एक प्रसारण रिसीवर जो डिवाइसएडमिन रिसीवर से निकला है।
  2. आपकी मेनिफेस्ट फ़ाइल में प्रविष्टियां जो उपरोक्त प्रसारण रिसीवर को संदर्भित करती हैं।
  3. डिवाइस व्यवस्थापक API का उपयोग करने के लिए आपके मैनिफेस्ट में अनुमतियां।
  4. एक एक्सएमएल फ़ाइल बताती है कि आपके ऐप किस नीति तक पहुंच सकता है।

यह सब उपरोक्त लिंक में पाया जा सकता है। अपने ग्राहक के साथ शुभकामनाएँ!

+0

मैं यह उल्लेख करना भूल गया कि मुझे नहीं पता कि कैसे Evernote अनइंस्टॉल करने की अनुमति देता है लेकिन स्टॉप को मजबूर नहीं करता है। मेरा समाधान दोनों को रोकता है। मैं भी जानना चाहता हूं कि Evernote यह कैसे करता है! – gonzobrains

+0

क्या यह ऐप को टास्क मैनेजर द्वारा फोर्स किल्ड मारने से भी रोकता है? – Swaroop

+0

मैंने कोशिश नहीं की है, लेकिन मैं ऐसा सोचूंगा। – gonzobrains

0

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

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