Android 9 और इससे पहले के वर्शन में, स्क्रीन बफ़र को कैप्चर करने की अनुमतियां (READ_FRAME_BUFFER
,
CAPTURE_VIDEO_OUTPUT
, और
CAPTURE_SECURE_VIDEO_OUTPUT
) उन ऐप्लिकेशन को दी गई थीं जिनके पास हस्ताक्षर या खास अधिकारों वाले या तो ऐप्लिकेशन होने की अनुमतियां थीं. इससे, स्क्रीन बफ़र को आसानी से कैप्चर करने की सुविधा चालू हो गई है. जैसे, स्क्रीनशॉट लेना या डिवाइस की स्क्रीन पर दिख रहे कॉन्टेंट को रिकॉर्ड करना.
Android 10 में, किसी डिवाइस की स्क्रीन पर दिख रहे कॉन्टेंट को चुपचाप ऐक्सेस करने से रोकने के लिए, खास ऐप्लिकेशन को वीडियो कैप्चर करने की अनुमतियां नहीं दी जाती हैं. उपयोगकर्ता की सहमति के बिना ऐक्सेस पर पाबंदी होती है. साथ ही, इसे सिर्फ़ उन ऐप्लिकेशन को दिया जाता है जिन्हें हस्ताक्षर करने की अनुमति होती है. इस ज़रूरी शर्त का असर उन डिवाइस मैन्युफ़ैक्चरर पर पड़ता है जो इस साइलेंट कैप्चर फ़ंक्शन पर भरोसा करके, ऐक्सेस लेवल की अनुमति वाले ऐप्लिकेशन चलाते हैं.
Android 10 से, अगर आपके पास सूची में दी गई स्क्रीन-बफ़र कैप्चर सिग्नेचर की अनुमतियां नहीं हैं, तो आपका ऐप्लिकेशन उपयोगकर्ता की सहमति के बिना स्क्रीन बफ़र को कैप्चर नहीं कर पाएगा. यह पक्का करने के लिए कि आपके पास ज़रूरी अनुमतियां हैं, अपनी मेनिफ़ेस्ट फ़ाइल में पहले से दी गई हस्ताक्षर की अनुमतियों को खोजें. जिन ऐप्लिकेशन पर असर पड़ा है उन्हें MediaProjectionManager क्लास पर माइग्रेट करें. यह क्लास, तीसरे पक्ष के किसी भी ऐप्लिकेशन को अनुमतियों के बिना स्क्रीन बफ़र कैप्चर करने की अनुमति देती है. हालांकि, इसके लिए उपयोगकर्ता की सहमति ज़रूरी है. इस फ़्लो में एक डायलॉग दिखता है. इसमें, किसी ऐप्लिकेशन के शुरू होने पर, उपयोगकर्ता को स्क्रीन कैप्चर करने की अनुमति देने के लिए कहा जाता है. Android 10 में, डायलॉग की नई सुविधाओं में ये शामिल हैं:
- कास्ट करें आइकॉन के साथ ज़्यादा असोसिएशन दिखाता है.
- ऐक्सेस किए जा सकने वाले डेटा की संवेदनशीलता के बारे में ज़्यादा जानकारी देता है.
- आने वाले समय में शुरू करने के दौरान, उपयोगकर्ता डायलॉग नहीं छिपा सकते: डायलॉग हर बार दिखता है.