दिलचस्प पोस्ट
जावा में एक अहस्ताक्षरित int घोषित करना निर्देशों के लिए गतिशील नियंत्रक कैसे सेट करें? शेल स्क्रिप्ट: स्क्रिप्ट से ssh पर फ़ंक्शन चलाएं अजगर में आइटम आवृत्ति गणना हटाए जाने से पहले एक पुष्टिकरण संदेश कैसे दिखाना है? क्यूटी 5 स्टेटिक बिल्ड पैदावार मंच प्लगइन "विंडो" लोड करने में विफल संदर्भ असाइनमेंट परमाणु है इसलिए इंटरलॉक किया गया है। एक्सचेंज (रिज ऑब्जेक्ट, ऑब्जेक्ट) की आवश्यकता है? Android में प्रत्येक डायनामिक रूप से निर्मित संपादन टेक्स्ट से डेटा कैसे प्राप्त करें? स्प्रिंग डाटा जेपीए नॉन-यूनिट पीजो के परिणाम को मैप करता है सैमसंग गैलेक्सी टैब का अनुकरण करना कैसे फ्लास्क में json पोस्ट किया जाना है? एकल डीजेंगो मॉडलफ़ॉर्म में कई मॉडल? इंटरफ़ेस में सभी क्षेत्रों को स्थिर और अंतिम रूप क्यों हैं? व्हाइटस्पेस मिलान रेगेक्स – जावा जो तेज़ है: स्टैक आवंटन या हीप आवंटन

जब मेरा ऐप पृष्ठभूमि पर जाता है तो मैं एंड्रॉइड कैसे स्क्रीनशॉट ले सकता हूं?

वर्तमान में मैं जिस ऐप का निर्माण कर रहा हूं वह इस बात की आवश्यकता है कि एप को ओएस को ऐप का एक स्क्रीनशॉट लेने के लिए रोकना होगा, जब सुरक्षा कारणों के लिए पृष्ठभूमि में धकेल दिया जा रहा है। इस तरह यह ऐप्स के बीच स्विच करते समय अंतिम सक्रिय स्क्रीन को नहीं देख पाएगा।

मैं इस कार्यक्षमता को एप्लिकेशन क्लास की पोज़ पद्धति में रखने की योजना बना रहा हूं, लेकिन पहले मुझे यह पता लगाना होगा कि मैं इस कार्यक्षमता को कैसे प्राप्त कर सकता हूं।

तो क्या कोई भी वहाँ है, इसमें सुराग है कि यह कैसे ठीक करें?

Solutions Collecting From Web of "जब मेरा ऐप पृष्ठभूमि पर जाता है तो मैं एंड्रॉइड कैसे स्क्रीनशॉट ले सकता हूं?"

FLAG_SECURE आज़माएं:

 public class FlagSecureTestActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE); setContentView(R.layout.main); } } 

यह निश्चित रूप से आईसीएस हाल के कार्यों के इतिहास से मैन्युअल स्क्रीनशॉट और स्वचालित स्क्रीनशॉट के खिलाफ सुरक्षित है।

अद्यतनः यह एंड्रॉइड 6.0 पर अब टैप या अन्य सहायकों के विरुद्ध भी सुरक्षित है; अगर उपयोगकर्ता सहायक लाता है तो वे आपकी यूआई में विजेट और कंटेनरों के विवरण तक पहुंच नहीं पाएंगे।

# 2 अद्यतन करें : हालांकि, गतिविधि में सब कुछ संरक्षित नहीं किया जाएगा कोई पॉप-अप विंडो – Dialog , Spinner , AutoCompleteTextView , एक्शन बार अतिप्रवाह, आदि – असुरक्षित होगा। आप getWindow() पर कॉल getWindow() और FLAG_SECURE सेट करके Dialog समस्या को ठीक कर सकते हैं। बाकी … मुश्किल हो जाता है अधिक के लिए इस ब्लॉग पोस्ट देखें।

WindowManager.LayoutParams.FLAG_SECURE का उपयोग करने के बारे में सावधान रहें, कुछ उपकरणों पर (सैमसंग गैलेक्सी एसी पर सत्यापित किया जाता है, जैसे जीटी-एस 5830) यह दृश्य को तले हुए दिखाई देगा एक सैमसंग विशिष्ट बग की तरह लग रहा है मैं निम्नलिखित सुझाव देता हूं:

 if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) { getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE); } 

यह एक तले हुए स्क्रीन की तरह दिखता है:

तले हुए स्क्रीन छवि

यह आईसीएस सैमसंग फोन पर ठीक से काम कर रहा है, हालांकि, मैं समझता हूँ कि समस्या जिंजरब्रेड डिवाइस (या पुराने) से अलग है।

कॉमन्सवेयर द्वारा प्रदान किया गया समाधान लॉलीपॉप में भी वैध है।

सिर्फ एक नोट, यदि आप पूरे ऐप के लिए हाल की सूची में स्नैपशॉट नहीं देखना चाहते हैं, तो सभी कार्यान्वित गतिविधियां getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE); विधि में ध्वज getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE); onCreate() में निर्दिष्ट करनी चाहिए getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE); setContentView(); से पहले setContentView();

अन्यथा, हाल की सूची में एक स्नैपशॉट फ़्लैग के बिना पहली गतिविधि दिखाएगा, अगर उपयोगकर्ता इसके माध्यम से नेविगेट करेगा