Android, उपयोगकर्ताओं को पारदर्शिता बनाए रखने में मदद करता है. इसके लिए, वह इस तरह के ऐक्सेस के लिए निजता इंडिकेटर दिखाता है:
कैमरा और माइक्रोफ़ोन ऐक्सेस करने की अनुमति. यह इंडिकेटर तब दिखता है, जब कोई ऐप्लिकेशन, कैमरे और माइक्रोफ़ोन के ज़रिए किसी निजी डेटा सोर्स का इस्तेमाल करता है. इसके लिए, वह ऐप्लिकेशन के ऑपरेशन से जुड़ी अनुमतियों का इस्तेमाल करता है. सीडीडी से जुड़ी ज़रूरी शर्तों के लिए, 2.2.5 देखें. सुरक्षा मॉडल.
जगह की जानकारी का ऐक्सेस. यह इंडिकेटर तब दिखता है, जब कोई ऐप्लिकेशन डिवाइस की जगह की जानकारी को ऐक्सेस करता है. सीडीडी से जुड़ी ज़रूरी शर्तों के लिए, 9.8.8. जगह की जानकारी.
उपयोगकर्ता, इंडिकेटर पर टैप करके यह देख सकते हैं कि किन ऐप्लिकेशन ने उनका डेटा ऐक्सेस किया है.
ऐप्लिकेशन का इस्तेमाल करने वाले सक्रिय उपयोगकर्ता और हाल ही में ऐप्लिकेशन का इस्तेमाल करने वाले उपयोगकर्ता
Android यूज़र इंटरफ़ेस (यूआई), चल रहे और हाल ही में इस्तेमाल किए गए ऐप्लिकेशन के बीच अंतर करता है:
Android 17 या इसके बाद के वर्शन में, लोकेशन के इस्तेमाल को चालू माना जाता है. ऐसा तब होता है, जब सिस्टम उन्हें चालू के तौर पर मार्क करता है या वे 10 सेकंड से कम पुराने होते हैं. जगह की जानकारी वाले बिंदु के लिए, ऐक्सेस को तब चालू माना जाता है, जब नॉनसिस्टम ऐप्लिकेशन फ़ोरग्राउंड स्टेट में चल रहा हो.
Android 12 या इसके बाद के वर्शन में, माइक्रोफ़ोन और कैमरे के इस्तेमाल को चालू माना जाता है. ऐसा तब होता है, जब सिस्टम उन्हें चालू के तौर पर मार्क करता है या उनके इस्तेमाल को पांच सेकंड से कम समय हुआ हो.
जब भी कोई ऐप्लिकेशन, उपयोगकर्ता की निजी जानकारी से जुड़े माइक्रोफ़ोन, कैमरे या जगह की जानकारी को ऐक्सेस करता है, तब स्टेटस बार में आइकॉन दिखते हैं. उपयोगकर्ता इन आइकॉन पर टैप करके देख सकते हैं कि कौनसे ऐप्लिकेशन, माइक्रोफ़ोन, कैमरा, जगह की जानकारी या इन आइटम के कॉम्बिनेशन को ऐक्सेस कर रहे हैं. यहां इस्तेमाल किए जा रहे इंडिकेटर का एक उदाहरण दिया गया है:
पहली इमेज. इस्तेमाल में होने के इंडिकेटर, ऐक्टिव ऐक्सेस दिखाते हैं (सबसे ऊपर दाएं कोने में).
जब तक इंडिकेटर दिखते हैं, तब तक यह माना जाता है कि ऐक्सेस चालू है. एक आइकॉन दिखता है. इसके बाद, यह एक डॉट में बदल जाता है. यह डॉट तब तक दिखता रहता है, जब तक ऐप्लिकेशन को खारिज या बंद नहीं कर दिया जाता. जब कोई उपयोगकर्ता क्विक सेटिंग खोलता है और फिर इंडिकेटर पर टैप करता है, तो एक डायलॉग बॉक्स दिखता है. इसमें यह जानकारी होती है कि ऐप्लिकेशन, माइक्रोफ़ोन, कैमरा, जगह की जानकारी या इनमें से किसी एक से ज़्यादा आइटम का इस्तेमाल कर रहा है या नहीं.
दूसरी इमेज में, ऐक्टिव ऐक्सेस इंडिकेटर दिखाए गए हैं. ये इंडिकेटर तब दिखते हैं, जब कोई ऐप्लिकेशन, ऐक्टिव टाइम विंडो में डेटा ऐक्सेस करता है.
दूसरी इमेज. ऐक्सेस करने की स्थिति और हाल ही में ऐक्सेस करने के इंडिकेटर.
हाल ही में ऐक्सेस किए गए डेटा के इंडिकेटर से पता चलता है कि किसी ऐप्लिकेशन ने पिछले 15 सेकंड (या जगह की जानकारी के डेटा के लिए 20 सेकंड) के दौरान डेटा ऐक्सेस किया है. हालांकि, ऐप्लिकेशन चालू नहीं है. डायलॉग में सभी चालू ऐप्लिकेशन दिखते हैं. हालांकि, हाल ही में ऐक्सेस किए गए डेटा के सोर्स के तौर पर सिर्फ़ एक ऐप्लिकेशन दिखता है. भले ही, 15 या 20 सेकंड की पिछली समयावधि में एक से ज़्यादा ऐप्लिकेशन ने डेटा ऐक्सेस किया हो. डायलॉग बॉक्स में, उन सभी ऐप्लिकेशन को दिखाया जाता है जिन्होंने चालू या हाल ही के समय में जगह की जानकारी का डेटा ऐक्सेस किया है. यह ऐक्सेस व्यू तब तक दिखता है, जब तक उपयोगकर्ता सूचना वाले डायलॉग बॉक्स को खारिज नहीं कर देता.
डिलीवर करें और चालू करें
PermissionManager क्लास, डायलॉग (जो सिस्टम यूज़र इंटरफ़ेस में मौजूद होता है) को पॉप्युलेट करने का तरीका उपलब्ध कराती है. सिस्टम यूआई, डिवाइस कॉन्फ़िगरेशन स्विच privacy/mic_camera_indicators_enabled पर प्रतिक्रिया करता है. यह स्विच इसलिए ज़रूरी है, क्योंकि डिलीवरी के दो अलग-अलग तरीके हैं: (1) डिलीवर करें, फिर (2) चालू करें.
प्रोसेस फ़्लो
अनुमति के बारे में बताने वाले इंडिकेटर की सुविधा में तीन मुख्य हिस्से होते हैं:
- ऐप्लिकेशन
- इंडिकेटर (सिस्टम यूज़र इंटरफ़ेस (यूआई) की मदद से मैनेज किए जाते हैं)
- यह पता लगाने का तरीका कि कौनसा ऐप्लिकेशन डेटा का इस्तेमाल कर रहा है
PermissionController से यह पता चलता है कि कौनसे ऐप्लिकेशन डेटा का इस्तेमाल कर रहे हैं. सिस्टम यूज़र इंटरफ़ेस (यूआई), निजी डेटा का इस्तेमाल करने वाले ऐप्लिकेशन के बारे में जानकारी इकट्ठा करता है. सिस्टम यूज़र इंटरफ़ेस (यूआई),
ऊपर मौजूद नेविगेशन बार में इस्तेमाल की गई अनुमतियों से जुड़ा आइकॉन दिखाता है. PermissionController से, किसी आइकॉन पर क्लिक करने पर उसके इस्तेमाल से जुड़ा डेटा दिखता है.
तीसरी इमेज. सिस्टम कॉम्पोनेंट और (यूज़र इंटरफ़ेस) ट्रांज़िशन फ़्लो.
1 कोई ऐप्लिकेशन, सिस्टम से निजी डेटा का अनुरोध करता है.
2 सिस्टम, अनुमतियों की जांच करता है. अगर अनुमतियां दी जाती हैं, तो सिस्टम डेटा उपलब्ध कराने वाली कंपनी को इसकी सूचना देता है. साथ ही, ऐप्लिकेशन के ऑपरेशंस में इसके इस्तेमाल की जानकारी सेव करता है.
3 डेटा उपलब्ध कराने वाली कंपनी, ऐप्लिकेशन को डेटा देती है.
4-5 उपयोगकर्ता आइकॉन पर क्लिक करता है. सिस्टम यूज़र इंटरफ़ेस (यूआई),
PermissionManagerसे डेटा का अनुरोध करता है और उपयोगकर्ता को डायलॉग दिखाता है.
प्रोसेस की जानकारी
ऐप्लिकेशन के ऑपरेशन, रनटाइम अनुमति से सुरक्षित किए गए एपीआई के ऐक्सेस को रिकॉर्ड करते हैं. साथ ही, गतिविधि की स्थिति और अलग-अलग एपीआई कॉल की संख्या को ट्रैक करते हैं. इसके अलावा, ये कैमरे, माइक्रोफ़ोन, और इंडिकेटर के साथ इंटरैक्ट करते हैं, ताकि उपयोगकर्ताओं को यह दिखाया जा सके कि ऐप्लिकेशन ने उनके डिवाइसों पर ऑडियो और कैमरे का डेटा कब ऐक्सेस किया.
ऐप्लिकेशन, माइक्रोफ़ोन, कैमरा या जगह की जानकारी का इस्तेमाल करने के लिए
AppOpsManager.startOp,stopOpयाnoteOpको कॉल करते हैं. इससे सिस्टम सर्वर में ऐप्लिकेशन के ऑपरेशन के रिकॉर्ड बनते हैं. Android 17 और इसके बाद के वर्शन में, लोकेशन इंडिकेटर भी इन ऐप्लिकेशन के ओप रिकॉर्ड का इस्तेमाल करता है.सिस्टम यूज़र इंटरफ़ेस (यूआई),
AppOpsManager.OnOpActiveChangedInternalListenerऔरOnOpNotedListenerलिसनर का इस्तेमाल करके, ऐप्लिकेशन के नए ऑपरेशन के बारे में सुनता है. जब कोई नया इस्तेमाल होता है (startOpयाnoteOpको कॉल करके), तो सिस्टम यूज़र इंटरफ़ेस (यूआई) यह पुष्टि करता है कि इसका इस्तेमाल किसी सिस्टम ऐप्लिकेशन ने किया है:अगर सिस्टम यूज़र इंटरफ़ेस (यूआई), सिस्टम ऐप्लिकेशन के इस्तेमाल की पुष्टि करता है और इस्तेमाल माइक्रोफ़ोन के लिए किया जा रहा है, तो सिस्टम यूज़र इंटरफ़ेस (यूआई) यह जांच करता है कि माइक्रोफ़ोन म्यूट है या नहीं.
अगर सिस्टम यूज़र इंटरफ़ेस (यूआई) यह पुष्टि करता है कि सिस्टम ऐप्लिकेशन के अलावा किसी और ऐप्लिकेशन का इस्तेमाल किया जा रहा है, तो वह इस तरह के इस्तेमाल को दिखाने वाला आइकॉन दिखाता है. साथ ही, अगर माइक्रोफ़ोन का इस्तेमाल किया जा रहा है, तो यह पुष्टि करता है कि माइक्रोफ़ोन चालू है. अगर कैमरे का इस्तेमाल किया जा रहा है, तो यह पुष्टि करता है कि कैमरा चालू है.
अगर सिस्टम यूज़र इंटरफ़ेस, सिस्टम से बाहर के ऐप्लिकेशन के इस्तेमाल की पुष्टि करता है, तो वह इस तरह के इस्तेमाल को दिखाने वाला एक आइकॉन दिखाता है. हालांकि, ऐसा तब होता है, जब इससे जुड़े टॉगल चालू हों:
- माइक्रोफ़ोन के लिए: माइक्रोफ़ोन अनम्यूट है.
- कैमरे के लिए: कैमरा चालू है.
- जगह की जानकारी के लिए: ऐप्लिकेशन फ़ोरग्राउंड में चल रहा हो.
अगर सिस्टम यूज़र इंटरफ़ेस (यूआई) को कोई ऐसी noteOp मिलती है जिसकी कोई अवधि नहीं है, तो वह कम से कम 5 सेकंड के लिए आइकॉन दिखाता है. जगह की जानकारी के लिए, यह अवधि 10 सेकंड होती है. इसके अलावा, आइकॉन तब तक दिखता है, जब तक उसे stopOp नहीं मिल जाता या कम से कम पांच या 10 सेकंड तक दिखता है. इनमें से जो भी अवधि ज़्यादा हो. किसी आइकॉन पर क्लिक करने से, उपयोगकर्ता का इंटेंट शुरू होता है. यह इंटेंट, डायलॉग शुरू करने के लिए PermissionController पर जाता है.
PermissionController में, माइक्रोफ़ोन, कैमरे, और जगह की जानकारी के ऐक्सेस से जुड़ी हाल ही की सभी गतिविधियां दिखती हैं. यह देखता है कि इनमें से कोई ऐप्लिकेशन चल रहा है या नहीं. साथ ही, यह भी देखता है कि सिस्टम यूआई ने जो समयसीमा तय की है उसके अंदर कोई ऐप्लिकेशन चल रहा था या नहीं. माइक्रोफ़ोन या कैमरे के लिए यह समयसीमा 15 सेकंड और जगह की जानकारी के लिए 20 सेकंड होती है. अगर उसे कोई मैच मिलता है, तो वह ऐप्लिकेशन का नाम और इस्तेमाल की गई अनुमतियां दिखाता है.
Android Google Search ऐप्लिकेशन (AGSA) और GMS के साथ काम करते समय, टेलीफ़ोनी को अनुमति के इस्तेमाल को लागू करना होगा. ऐसा इसलिए, ताकि फ़ोन कॉल में इस्तेमाल किए गए अलग माइक्रोफ़ोन स्टैक का हिसाब रखा जा सके.