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