2012-02-13 5 views
6

में स्क्रीनशॉट अक्षम करें हमारे सुरक्षित ऐप्स में से एक के लिए, एंड्रॉइड आईसीएस में ऐप के लिए स्क्रीनशॉट क्षमता को अक्षम करने की आवश्यकता है। क्या यह गैर-रूट डिवाइस पर संभव है?
धन्यवाद,
राजथएंड्रॉइड ics

+0

क्या यह कॉर्पोरेट वातावरण में है जहां आप डिवाइस को नियंत्रित करते हैं, या सिर्फ सामान्य बाजार अनुप्रयोग? यदि आप डिवाइस को नियंत्रित करते हैं, तो स्क्रीनशॉट को रोकना संभव हो सकता है, लेकिन केवल एक फोटो लेना हमेशा काम करेगा। और सामान्य अनुप्रयोगों के लिए आपको भी कोशिश नहीं करनी चाहिए। – CodesInChaos

उत्तर

14

आप इस गतिविधि को अपनी गतिविधि कक्षा में क्यों नहीं जोड़ते हैं। यह चाल करेगा।

// This disables screen shot to be taken for current activity 
getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE); 

आप have a look at Mark Murphy's blog post कर सकते हैं।

+0

ध्यान दें कि यह सभी प्री-आईसीएस उपकरणों पर काम नहीं कर सकता है, क्योंकि उनके स्क्रीनशॉट कार्यान्वयन मानक नहीं हो सकते हैं और इसलिए ['FLAG_SECURE'] (http://developer.android.com/reference/android/view/WindowManager) को स्वीकार नहीं करते हैं। LayoutParams.html # FLAG_SECURE)। –

1

यह कभी भी संभव नहीं होगा, कहानी की अवधि समाप्त हो जाएगी। डिवाइस के मालिक के लिए डीबगर का उपयोग करके स्मृति को पढ़कर आपके एप्लिकेशन द्वारा उपयोग की जाने वाली किसी भी एन्क्रिप्शन कुंजी को प्राप्त करना भी संभव है। इसका उपयोग ऐप द्वारा उपयोग की जाने वाली किसी भी "संवेदनशील" इमेजरी को डिक्रिप्ट करने के लिए किया जा सकता है।

+2

और सबसे बुरे मामले में कोई सिर्फ फोटो ले सकता है। – CodesInChaos

+0

@Rook और CodeInChaos, आपके इनपुट के लिए धन्यवाद। मुझे लगता है कि आवश्यकताओं को ऐसी मजबूत सुरक्षा नीति का जिक्र नहीं है। मैं [FLAG_SECURE] पर आया (http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#FLAG_SECURE) जो चाल – rajath

+0

@CodesInChaos कर सकता है आमतौर पर स्क्रीन कैप्चरिंग को अक्षम करने का बिंदु पृष्ठभूमि को रोकने के लिए है संवेदनशील जानकारी प्राप्त करने से ऐप्स (संभावित रूप से मैलवेयर)। –

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