ASSISTANT |
कम से कम एक:
- ऐप्लिकेशन में एक ऐसी गतिविधि है जो असिस्ट क्लिक/इंप्रेशन से जुड़ी कार्रवाइयां करती है.
इन कार्रवाइयों में, सहायता के अनुरोध के समय उपयोगकर्ता के कॉन्टेक्स्ट के बारे में जानकारी दी जाती है
(उदाहरण के लिए, मौजूदा फ़ोरग्राउंड ऐप्लिकेशन के पैकेज का नाम और
इससे जुड़ी जानकारी).
- ऐप्लिकेशन में वॉइस इंटरैक्शन की ऐसी सेवा मौजूद है जो हमेशा चालू रहती है. यह सेवा,
android.permission.BIND_VOICE_INTERACTION की अनुमति के तहत काम करती है. यह
आवाज़ की पहचान कर सकती है और वॉइस इंटरैक्शन के ऐक्टिव सेशन होस्ट कर सकती है.
इसके अलावा, ऐप्लिकेशन में एक साफ़ फ़्लैग भी दिया गया है, जिससे पता चलता है कि इस सेवा की मदद से कार्रवाई की जा सकती है.
|
BROWSER |
ये सभी:
- ऐप्लिकेशन में कोई ऐसी गतिविधि मौजूद होती है जिसे ऐप्लिकेशन इंप्लिसिट इंटेंट अनुरोधों के ज़रिए शुरू कर सकते हैं. इससे
http:// पते से जुड़ा वेब पेज दिखता है.
- ऐप्लिकेशन को लिंक के बीच नेविगेशन मैनेज करना होगा. इसका मतलब है कि अगर उपयोगकर्ता किसी वेब पेज को देख रहा है और टेक्स्ट में मौजूद
http:// पते पर क्लिक करता है, तो ऐप्लिकेशन को उपयोगकर्ता के किसी और इंटरवेंशन के बिना, चुने गए लिंक से जुड़ा कॉन्टेंट दिखाना चाहिए.
- जब वेबसाइटों से डिवाइस की मौजूदा जगह की जानकारी का अनुरोध किया जाता है और उपयोगकर्ता उस अनुरोध को स्वीकार करता है, तो ऐप्लिकेशन को वेबसाइटों को यह जानकारी देनी चाहिए.
|
DIALER |
ये सभी:
- ऐप्लिकेशन में एक ऐसी गतिविधि होती है जिसे ऐप्लिकेशन, इंप्लिसिट इंटेंट के अनुरोधों के ज़रिए शुरू कर सकते हैं. यह गतिविधि, डिवाइस के कॉल में होने पर इन-कॉल यूज़र इंटरफ़ेस उपलब्ध कराती है.
- ऐप्लिकेशन, आने वाले कॉल के इंटेंट को मैनेज कर सकता है. साथ ही, उपयोगकर्ता को कॉल से जुड़ी जानकारी (उदाहरण के लिए, कॉल करने वाले का फ़ोन नंबर) दिखा सकता है. साथ ही, उपयोगकर्ता को कॉल का जवाब देने या उसे अस्वीकार करने की अनुमति दे सकता है.
- ऐप्लिकेशन की मदद से, उपयोगकर्ता कॉल कर सकता है और अपने डिवाइस पर कॉल का इतिहास देख सकता है.
|
SMS |
ये सभी:
- ऐप्लिकेशन, एसएमएस ऐप्लिकेशन के लिए तय की गई सभी ज़रूरी शर्तें पूरी करता हो.
- ऐप्लिकेशन में एक ऐसी गतिविधि है जिसे ऐप्लिकेशन, इंप्लिसिट इंटेंट के अनुरोधों के ज़रिए शुरू कर सकते हैं. इससे किसी फ़ोन नंबर पर मैसेज भेजा जा सकता है.
- ऐप्लिकेशन में एक ऐसी सेवा है जिसे
android.permission.SEND_RESPOND_VIA_MESSAGE अनुमति की मदद से ऐक्सेस किया जा सकता है. साथ ही, इसे इंप्लिसिट इंटेंट की मदद से भी ऐक्सेस किया जा सकता है. यह सेवा, Phone ऐप्लिकेशन से मिले मैसेज को डिलीवर कर सकती है. ऐसा तब होता है, जब उपयोगकर्ता किसी इनकमिंग कॉल के दौरान मैसेज से जवाब देने का विकल्प चुनता है. ऐप्लिकेशन, अपने मैसेजिंग सिस्टम के ज़रिए मैसेज डिलीवर कर सकता है.
- ऐप्लिकेशन में दो ब्रॉडकास्ट रिसीवर हैं. पहला,
android.permission.BROADCAST_SMS अनुमति के हिसाब से और दूसरा, android.permission.BROADCAST_WAP_PUSH अनुमति के हिसाब से. ये दोनों रिसीवर, डिवाइस पर भेजे गए टेक्स्ट वाले एसएमएस और मल्टीमीडिया मैसेज (एमएमएस) को सुन सकते हैं. इसके बाद, ऐप्लिकेशन की ज़िम्मेदारी एसएमएस सेवा देने वाली कंपनी को मैसेज भेजने और उपयोगकर्ताओं को सूचना देने की होती है.
|
EMERGENCY |
ये सभी:
- ऐप्लिकेशन एक
सिस्टम ऐप्लिकेशन
है.
- ऐप्लिकेशन में ऐसी गतिविधि है जो उपयोगकर्ता की आपातकालीन जानकारी दिखाती है.
आपातकालीन डायलर ऐक्टिविटी पर मौजूद आपातकालीन बटन का इस्तेमाल करके, कोई भी व्यक्ति इस स्क्रीन पर जा सकता है.
|
HOME |
इस ऐप्लिकेशन में कोई ऐसी गतिविधि है जो उपयोगकर्ता के होम बटन दबाने पर होम स्क्रीन को लॉन्च कर सकती है. होम स्क्रीन पर बटन या हाथ के जेस्चर (उदाहरण के लिए, सभी ऐप्लिकेशन देखने के लिए ऊपर की ओर स्वाइप करना) पर आधारित ऐप्लिकेशन आइकॉन, विजेट, और सहायता
नेविगेशन दिखना चाहिए.
|
CALL_REDIRECTION |
ऐप्लिकेशन में android.permission.BIND_CALL_REDIRECTION_SERVICE
अनुमति के आधार पर सेवा को सीमित किया गया है. टेलीकॉम फ़्रेमवर्क, इस सेवा से बंधा हो सकता है. सेवा को टेलीकॉम फ़्रेमवर्क से, कॉल करने के लिए इस्तेमाल किया जाने वाला फ़ोन नंबर मिलता है. इसके बाद, वह इनमें से कोई एक कार्रवाई करती है:
- कॉल को ऐसे ही जारी रखने की अनुमति दें.
- किसी प्रॉक्सी नंबर के ज़रिए रूट करने के लिए आउटगोइंग नंबर बदलें.
- कॉल रद्द करें.
|
CALL_SCREENING |
ऐप्लिकेशन में android.permission.BIND_SCREENING_SERVICE अनुमति के आधार पर सेवा को सीमित किया गया है,
जो दो काम करती है:
- कॉल ब्लॉक करना और कॉल की जानकारी दिखाना: यह सेवा यह तय कर सकती है कि कौनसे कॉल को फ़ोन पर डायलर ऐप्लिकेशन पर भेजा जाए (और डीएनडी या वॉल्यूम के हिसाब से, हो सकता है कि वे रिंग भी करें) और किन कॉल को चुपचाप वॉइसमेल पर भेजा जाए.
- कॉल की पहचान: यह सेवा, यूज़र इंटरफ़ेस की मदद से कॉल की पहचान कर सकती है और उसकी जानकारी दिखा सकती है.
|
SYSTEM_GALLERY |
ये सभी:
- यह ऐप्लिकेशन एक
सिस्टम ऐप्लिकेशन है
.
- सिर्फ़ OEM, ऐप्लिकेशन को यह भूमिका दे सकते हैं.
- यह ऐप्लिकेशन, उपयोगकर्ताओं को ऐसा यूज़र इंटरफ़ेस (यूआई) उपलब्ध कराता है जिसकी मदद से, वे अपने वीडियो और इमेज को सेव, व्यवस्थित, और दिखा सकते हैं.
|
SYSTEM_AUTOMOTIVE_CLUSTER |
ये सभी:
- यह ऐप्लिकेशन, Automotive पर काम करने वाला एक
सिस्टम ऐप्लिकेशन
है.
- सिर्फ़ OEM, ऐप्लिकेशन को यह भूमिका दे सकते हैं.
- यह ऐप्लिकेशन, ऑटोमोटिव क्लस्टर डिसप्ले (आम तौर पर स्टीयरिंग व्हील के बगल में) के लिए सुविधा देता है, ताकि उपयोगकर्ता फ़ोन कॉल का जवाब दे सकें और संपर्क सूचियों और कॉल लॉग को ऐक्सेस कर सकें.
|
COMPANION_DEVICE_WATCH |
ऐप्लिकेशन, स्मार्टवॉच डिवाइस से जुड़ने और उसे मैनेज करने के लिए अनुरोध कर सकता है. इसके लिए, वह CompanionDeviceManager क्लास से मिले एपीआई का इस्तेमाल करता है. जब स्मार्टवॉच और ऐप्लिकेशन, ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) से कनेक्ट होते हैं, तो उपयोगकर्ता ऐप्लिकेशन से अपनी स्मार्टवॉच को मैनेज कर सकते हैं. इसमें संपर्कों और कैलेंडर को सिंक करना, सूचनाओं और फ़ोन कॉल को मैनेज करना शामिल है.
|
SYSTEM_AUTOMOTIVE_PROJECTION |
ये सभी:
- यह ऐप्लिकेशन एक
सिस्टम ऐप्लिकेशन है
.
- सिर्फ़ OEM, ऐप्लिकेशन को यह भूमिका दे सकते हैं.
- इस ऐप्लिकेशन की मदद से, फ़ोन की स्क्रीन को वाहन में
डिसप्ले के तौर पर दिखाया जा सकता है. यह ड्राइवर, Android फ़ोन पर मौजूद ऐप्लिकेशन को ऐक्सेस और कंट्रोल करने की सुविधा देता है. इनमें संगीत, नेविगेशन, फ़ोन कॉल, और खोज के लिए इस्तेमाल होने वाले ऐप्लिकेशन शामिल हैं. इसके अलावा, यह गाड़ी में इनपुट उपलब्ध तरीकों का इस्तेमाल करके, टच, स्टीयरिंग व्हील से कंट्रोल करने, और बोलकर निर्देश देने की सुविधा का इस्तेमाल करके भी कंट्रोल कर सकता है.
|
SYSTEM_SHELL |
सभी:
- यह ऐप्लिकेशन एक
सिस्टम ऐप्लिकेशन है, जिसे
Process.SHELL_UID यूआईडी असाइन किया गया है.
- सिर्फ़ OEM, ऐप्लिकेशन को यह भूमिका दे सकते हैं.
- यह ऐप्लिकेशन, कमांड-लाइन लेवल पर काम करने वाला इंटरफ़ेस उपलब्ध कराता है, ताकि उपयोगकर्ता Android OS के साथ इंटरैक्ट कर सकें. उदाहरण के लिए, किसी फ़ोल्डर का कॉन्टेंट दिखाना या ऐप्लिकेशन लॉन्च करना. ऐप्लिकेशन (ज़रूरी अनुमतियां मिलने पर) या ADB टूल से, शेल कमांड को प्रोग्राम के हिसाब से चलाया जा सकता है.
|
SYSTEM_CONTACTS |
सभी:
- यह ऐप्लिकेशन एक
सिस्टम ऐप्लिकेशन है
.
- सिर्फ़ OEM, ऐप्लिकेशन को यह भूमिका दे सकते हैं.
- ऐप्लिकेशन में उपयोगकर्ताओं के लिए यूज़र इंटरफ़ेस (यूआई) उपलब्ध होता है, ताकि वे अपने संपर्कों को मैनेज कर सकें. उदाहरण के लिए, किसी संपर्क को देखना, शेयर करना, जोड़ना, हटाना या खोजना. जब उपयोगकर्ता ऐप्लिकेशन से अपने संपर्कों को अपडेट करता है, तो यह ऐप्लिकेशन
संपर्क की सेवा देने वाली कंपनी को अपडेट करता है.
उपयोगकर्ता, ऐप्लिकेशन से अपने संपर्कों को कॉल कर सकते हैं, ईमेल भेज सकते हैं या उन्हें मैसेज
भेज सकते हैं.
|
SYSTEM_SPEECH_RECOGNIZER |
ये सभी:
- यह ऐप्लिकेशन एक
सिस्टम ऐप्लिकेशन है
.
- सिर्फ़ OEM, ऐप्लिकेशन को यह भूमिका दे सकते हैं.
- ऐप्लिकेशन में बोली पहचानने की सुविधा उपलब्ध है.
- जब बोली की पहचान करने के लिए ऐप्लिकेशन को किसी दूसरे ऐप्लिकेशन से लाइव माइक्रोफ़ोन स्ट्रीम मिलती हैं, तो वह माइक्रोफ़ोन के इस्तेमाल का डेटा कॉल करने वाले ऐप्लिकेशन को सही तरीके से एट्रिब्यूट करता है. साथ ही, ऐप्लिकेशन की कार्रवाई के आंकड़ों को उसी हिसाब से अपडेट करता है.
|
SYSTEM_WIFI_COEX_MANAGER |
ये सभी:
- यह ऐप्लिकेशन एक
सिस्टम ऐप्लिकेशन है
.
- सिर्फ़ OEM, ऐप्लिकेशन को यह भूमिका दे सकते हैं.
- ऐप्लिकेशन में एक सेवा होती है, जो वाई-फ़ाई चैनलों की सूची को डाइनैमिक तौर पर सेट करती है.
इस सूची में वे चैनल शामिल होते हैं जिनका इस्तेमाल डिवाइस को मोबाइल इंटरफ़ेस के रुकावट की वजह से नहीं करना चाहिए.
|
SYSTEM_WELLBEING |
सभी:
- यह ऐप्लिकेशन एक
सिस्टम ऐप्लिकेशन है
.
- सिर्फ़ OEM, ऐप्लिकेशन को यह भूमिका दे सकते हैं.
- ऐप्लिकेशन को लोगों का ध्यान भटकने से रोकने और डिवाइस इस्तेमाल करने के उनके तरीके (उदाहरण के लिए, हर हफ़्ते डिवाइस के इस्तेमाल में बिताया गया समय) की जानकारी देनी चाहिए.
|
SYSTEM_TELEVISION_NOTIFICATION_HANDLER |
ये सभी:
- यह ऐप्लिकेशन एक
सिस्टम ऐप्लिकेशन है
.
- सिर्फ़ OEM, ऐप्लिकेशन को यह भूमिका दे सकते हैं.
- ऐप्लिकेशन को टीवी डिवाइसों पर, उपयोगकर्ताओं को हेड्स-अप सूचनाएं दिखानी होंगी.
android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL के ज़रिए (SystemUI से) भेजे जाने पर, ऐप्लिकेशन को मौजूदा चालू सूचनाएं भी दिखानी होंगी.
|
SYSTEM_COMPANION_DEVICE_PROVIDER |
सभी:
- यह ऐप्लिकेशन एक
सिस्टम ऐप्लिकेशन है
.
- सिर्फ़ OEM, ऐप्लिकेशन को यह भूमिका दे सकते हैं.
- ऐप्लिकेशन, आस-पास मौजूद सहायक डिवाइसों का पता लगा सके. इसमें ऐसा यूज़र इंटरफ़ेस होना चाहिए जिससे उपयोगकर्ता यह पुष्टि कर सके कि किसी डिवाइस को किसी ऐप्लिकेशन से जोड़ा जाना चाहिए और उसे मैनेज किया जाना चाहिए. उपयोगकर्ता की पुष्टि करने पर, मैनेज करने वाला ऐप्लिकेशन, उससे जुड़े ऐप्लिकेशन को डिवाइस को ऐक्सेस करने की अनुमति देता है. उदाहरण के लिए, उसका नाम, पता, क्लास, और बॉन्डिंग की स्थिति. इसके बाद, बॉन्डिंग की प्रोसेस शुरू की जा सकती है.
|
SYSTEM_DOCUMENT_MANAGER |
सभी:
|
SYSTEM_ACTIVITY_RECOGNIZER |
ये सभी:
|
SYSTEM_UI |
ये सभी:
- यह ऐप्लिकेशन एक
सिस्टम ऐप्लिकेशन है
.
- सिर्फ़ OEM, ऐप्लिकेशन को यह भूमिका दे सकते हैं.
- ऐप्लिकेशन में एक इंटरफ़ेस होता है, ताकि उपयोगकर्ता अपने फ़ोन से इंटरैक्ट कर सकें. उदाहरण के लिए, फ़ोन की मुख्य स्क्रीन, नेविगेशन, हाल ही में इस्तेमाल किए गए ऐप्लिकेशन, क्विक सेटिंग, सूचना बार, लॉकस्क्रीन, वॉल्यूम कंट्रोल.
|
SYSTEM_TELEVISION_REMOTE_SERVICE |
ये सभी:
- यह ऐप्लिकेशन, Android TV पर
सिस्टम ऐप्लिकेशन है.
- सिर्फ़ OEM, ऐप्लिकेशन को यह भूमिका दे सकते हैं.
- ऐप्लिकेशन में ऐसी सेवा है जो टीवी के रिमोट कंट्रोल एचआईडी डिवाइस से संपर्क कर सकती है (जैसे, BLE पर), इवेंट इंजेक्ट कर सकती है (जैसे कि बटन पर क्लिक), और अन्य डेटा (उदाहरण के लिए, रिमोट में पहले से मौजूद माइक्रोफ़ोन से ऑडियो स्ट्रीम) भेज सकती है.
|
SYSTEM_UI_INTELLIGENCE |
ये सभी:
- यह पहले से इंस्टॉल की गई ऐसी सेवा है जो फ़्रेमवर्क एपीआई (सार्वजनिक या सिस्टम एपीआई) की मदद से, डिवाइस पर मौजूद इंटेलिजेंट प्रोसेसर उपलब्ध कराती है. इस प्रोसेसर को सिस्टम यूज़र इंटरफ़ेस (यूआई) की सुविधाओं के लिए, उपयोगकर्ता के डिवाइस पर एक बेहतर प्रोसेसर की सुविधा मिलती है. उदाहरण के लिए, उपयोगकर्ताओं के लिए अगले ऐप्लिकेशन का अनुमान लगाना और उन्हें दिखाना.
- यह ज़रूरी है कि सेवा, Android CDD के 9.8.6 कॉन्टेंट कैप्चर सेक्शन में बताई गई सभी ज़रूरी शर्तों को पूरा करती हो.
- सेवा के पास
android.permission.INTERNET
अनुमति नहीं होनी चाहिए. इसके बजाय, यह किसी ओपन सोर्स प्रोजेक्ट में, अच्छी तरह से तय किए गए एपीआई के ज़रिए इंटरनेट को ऐक्सेस करना चाहिए.
- यह सेवा, इन सिस्टम ऐप्लिकेशन को छोड़कर, किसी भी ऐप्लिकेशन से बाइंड नहीं की जा सकती:
ब्लूटूथ, संपर्क, मीडिया, टेलीफ़ोनी, SystemUI, और इंटरनेट एपीआई उपलब्ध कराने वाले कॉम्पोनेंट. अनुमति वाली हर बाइंडिंग को सिस्टम कॉन्फ़िगरेशन में
<allow-association> कॉन्फ़िगरेशन के ज़रिए साफ़ तौर पर सेट अप किया जाना चाहिए.
- यह सेवा, ऐप्लिकेशन के साथ डेटा तब तक शेयर नहीं कर सकती, जब तक उपयोगकर्ता की ओर से कोई सीधी कार्रवाई न की गई हो. उदाहरण के लिए, हर बार डेटा शेयर करने पर, उपयोगकर्ता साफ़ तौर पर किसी बटन को दबाता हो.
|
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE |
ये सभी:
- ये शर्तें,
SYSTEM_UI_INTELLIGENCE के लिए तय की गई शर्तों से मिलती-जुलती हैं. हालांकि, पहले से इंस्टॉल की गई सेवा, डिवाइस पर मौजूद एक बेहतर प्रोसेसर की मदद से, आस-पास चल रहे ऑडियो को रिकॉर्ड करती है. उदाहरण के लिए, डिवाइस के आस-पास चल रहे गानों की पहचान करना.
|
SYSTEM_AUDIO_INTELLIGENCE |
सभी:
- यह सेवा
SYSTEM_UI_INTELLIGENCE की शर्तों के मुताबिक है. हालांकि, पहले से इंस्टॉल की गई सेवा, उपयोगकर्ता के डिवाइस पर स्मार्ट प्रोसेसर उपलब्ध कराती है. इस प्रोसेसर में ऑडियो के लिए, कैप्शन वाले वीडियो, पॉडकास्ट, फ़ोन कॉल, वीडियो कॉल, और ऑडियो मैसेज शामिल हैं.
|
SYSTEM_NOTIFICATION_INTELLIGENCE |
ये सभी:
SYSTEM_UI_INTELLIGENCE की शर्तों के मुताबिक ही ऐसा है.
हालांकि, पहले से इंस्टॉल की गई सेवा,
सूचनाओं के लिए उपयोगकर्ता के डिवाइस पर स्मार्ट प्रोसेसर उपलब्ध कराती है.
जैसे, मैसेज की सूचनाओं के जवाब देना और उन पर कार्रवाइयां करने के सुझाव देना.
|
SYSTEM_TEXT_INTELLIGENCE |
सभी:
- यह सेवा
SYSTEM_UI_INTELLIGENCE की शर्तों के मुताबिक है. हालांकि, पहले से इंस्टॉल की गई सेवा, उपयोगकर्ता के डिवाइस पर स्मार्ट प्रोसेसर उपलब्ध कराती है. इस प्रोसेसर की मदद से, टेक्स्ट का इस्तेमाल किया जा सकता है. जैसे, लाइव ट्रांसलेशन या जानकारी को ऑटोमैटिक भरने की सुविधा.
|
SYSTEM_VISUAL_INTELLIGENCE |
ये सभी:
- ये शर्तें,
SYSTEM_UI_INTELLIGENCE के लिए तय की गई शर्तों से मिलती-जुलती हैं. हालांकि, पहले से इंस्टॉल की गई सेवा, विज़ुअल सुविधाओं के लिए डिवाइस पर एक बेहतर प्रोसेसर उपलब्ध कराती है. इन सुविधाओं में, कैमरे के डेटा का विश्लेषण करना शामिल है. उदाहरण के लिए, जब उपयोगकर्ता फ़ोन देख रहा हो, तब उसकी स्क्रीन को लाइव रखना या डिवाइस में सामने वाले कैमरे से, उपयोगकर्ता के चेहरे की दिशा के हिसाब से सही स्क्रीन ओरिएंटेशन तय करना.
|
COMPANION_DEVICE_APP_STREAMING |
सभी:
- यह ऐप्लिकेशन एक
सिस्टम ऐप्लिकेशन है
.
- सिर्फ़ OEM, ऐप्लिकेशन को यह भूमिका दे सकते हैं.
- Android 15 से शुरू होने वाली सुविधा
डिवाइस A से डिवाइस B को पहली बार कनेक्ट करते समय:
दोनों डिवाइसों के AccountManager में, एक जैसा कम से कम एक खाता होना चाहिए. साथ ही, एक बार इस्तेमाल होने वाले कोड की मदद से, डिवाइसों को जोड़ने की पुष्टि की जानी चाहिए.
- डिवाइसों को जोड़ते समय, उपयोगकर्ता को दूसरे रिमोट डिवाइस पर खाते के पासवर्ड की पुष्टि करनी होगी या,
- एक बार इस्तेमाल होने वाला कोड, सोर्स डिवाइस पर दिखना चाहिए और
उसे कनेक्ट किए गए डिवाइस पर डाला जाना चाहिए.
- स्ट्रीमिंग के दौरान, रेंज की कोई ज़रूरत नहीं होती.
या फिर, डिवाइस A और डिवाइस B, एक-दूसरे की ब्लूटूथ रेंज में होने चाहिए. साथ ही, स्ट्रीमिंग के लिए एक बार इस्तेमाल होने वाले कोड की अनुमति होनी चाहिए.
- सोर्स डिवाइस पर एक बार इस्तेमाल होने वाला कोड दिखता है. इसे कनेक्ट किए गए डिवाइस पर डाला जाता है.
- स्ट्रीमिंग के दौरान, डिवाइसों को एक-दूसरे की ब्लूटूथ रेंज में रखना ज़रूरी है.
- ऐप्लिकेशन, कनेक्ट किए गए डिवाइसों के साथ कम्यूनिकेशन चैनल बना सकता है और उन्हें मैनेज कर सकता है, ताकि वे डेटा शेयर कर सकें. इन कम्यूनिकेशन चैनलों को सेट अप करने के लिए, ऐप्लिकेशन और कनेक्ट किए गए डिवाइसों को एक-दूसरे की पुष्टि करनी होगी. उदाहरण के लिए, शेयर की गई कुंजियों के बारे में जानकारी देकर.
कम्यूनिकेशन चैनलों को एन्क्रिप्ट (सुरक्षित) किया जाना चाहिए.
- ऐप्लिकेशन, स्थानीय डिवाइस से कनेक्ट किए गए डिवाइस पर सूचनाएं भेज सकता है, ताकि उपयोगकर्ता कनेक्ट किए गए डिवाइस पर मिलने वाली सूचनाओं पर कार्रवाई कर सके.
- कनेक्ट किए गए डिवाइस पर ऐप्लिकेशन स्ट्रीम करने के लिए, ज़रूरी मेटाडेटा को स्ट्रीम कर सके. जैसे, लोकल डिवाइस पर उपलब्ध ऐप्लिकेशन की सूची.
- जब उपयोगकर्ता साफ़ तौर पर सहमति लेकर (या तो फ़ोन पर या कनेक्ट किए गए डिवाइस पर) अपनी प्राथमिकता के बारे में बताए, तो
स्थानीय डिवाइस से कनेक्ट किए गए डिवाइस पर ऐप्लिकेशन स्ट्रीम करने की अनुमति होनी चाहिए.
- कनेक्ट किए गए डिवाइस पर स्ट्रीम किए जा रहे ऐप्लिकेशन पर होने वाले इवेंट को, स्थानीय डिवाइस पर फिर से चलाया जा सकता है (इंजेक्ट किया जा सकता है). उदाहरण के लिए,
टैबलेट पर किसी टच इवेंट को, फ़ोन पर उसी निर्देशांक पर फिर से चलाना.
- जब कोई ऐप्लिकेशन माइक्रोफ़ोन का इस्तेमाल कर रहा हो, तब यह ऐप्लिकेशन, कनेक्ट किए गए डिवाइस के माइक्रोफ़ोन की स्ट्रीम को, डिवाइस के माइक्रोफ़ोन की स्ट्रीम से बदल सकता है.
- ऐप्लिकेशन, डिवाइस से ऑडियो कैप्चर करता है और उसे कनेक्ट किए गए डिवाइस पर स्ट्रीम करता है.
- स्ट्रीम किए जा रहे ऐप्लिकेशन के कैमरे का इस्तेमाल करने के दौरान, डिवाइस के कैमरे की स्ट्रीम को ब्लॉक करना चाहिए.
- कनेक्ट किए गए डिवाइस के ओएस बिल्ड की पुष्टि करना ज़रूरी है. उदाहरण के लिए,
VerifiedBootState में बताए गए तरीके से डिवाइस की पुष्टि करना.
- सिर्फ़ उन ऐप्लिकेशन को स्ट्रीम करें जिनके लिए, दोनों डिवाइसों पर डिवाइस में मौजूद खाते की रजिस्ट्री में एक ही खाता मौजूद हो. उदाहरण के लिए, Android पर
AccountManager क्लास.
अगर ऐसा नहीं है, तो स्ट्रीमिंग के लिए, सोर्स डिवाइस पर दिखने वाले एक बार इस्तेमाल होने वाले कोड की ज़रूरत होगी. इस कोड को कनेक्ट किए गए डिवाइस पर डालना होगा. ध्यान दें कि Android के एक से ज़्यादा उपयोगकर्ता की सुविधा वाले डिवाइसों पर, एक से ज़्यादा उपयोगकर्ताओं (एक से ज़्यादा खातों के बजाय) के लिए डेटा को अलग-अलग रखने की सुविधा होती है. ऐसे डिवाइसों पर, एक उपयोगकर्ता की गिनती एक डिवाइस के तौर पर की जाती है.
- अगर कनेक्ट किए गए डिवाइस पर खाते की पुष्टि की समयसीमा खत्म हो जाती है या पुष्टि रद्द कर दी जाती है, तो स्ट्रीमिंग बंद करनी होगी और कनेक्ट किए गए डिवाइस से तुरंत डिसकनेक्ट करना होगा.
- अगर उपयोगकर्ता, कनेक्ट किए गए डिवाइस (उदाहरण के लिए, कीबोर्ड, टचस्क्रीन, और माउस इस्तेमाल में नहीं है) से पांच मिनट तक इंटरैक्ट नहीं करता, तो चल रहे ऐप्लिकेशन स्ट्रीमिंग सेशन को डिसकनेक्ट करना ज़रूरी है. वीडियो स्ट्रीमिंग ऐप्लिकेशन को इस ज़रूरी शर्त से छूट दी गई है.
- Android 15 से
जिस डिवाइस पर डिसप्ले कॉन्टेंट दिख रहा है उस पर, रिमोट डिवाइस के आइडल टाइम आउट होने पर सभी वर्चुअल डिवाइसों को डिसकनेक्ट करना ज़रूरी है. वेकलॉक जैसे मामलों में, रिमोट डिवाइस की स्क्रीन चालू रख सकता है. इससे Android डिवाइस की स्क्रीन चालू रहती है. कोई आइडल टाइम आउट होना चाहिए. अगर रिमोट डिवाइस पर कोई काम न करने का टाइम आउट अपने-आप नहीं सेट होता है, तो ज़्यादा से ज़्यादा पांच मिनट के, इस्तेमाल में न होने पर टाइम आउट का इस्तेमाल करना चाहिए.
- अगर सोर्स डिवाइस, Lockscreen Knowledge Factor (LSKF) का इस्तेमाल करता है, तो स्क्रीन के लॉक होने पर, ऐप्लिकेशन को कनेक्ट किए गए डिवाइस पर ऐप्लिकेशन स्ट्रीम नहीं करने चाहिए. ऐसा तब तक नहीं किया जाना चाहिए, जब तक उस डिवाइस पर लॉक स्क्रीन न हो और उसे अनलॉक न किया गया हो.
- अगर डिवाइस को एडमिन मैनेज करता है, तो ऐप्लिकेशन को आस-पास मौजूद डिवाइसों पर ऐप्लिकेशन स्ट्रीमिंग की सुविधा को चालू या बंद करने के लिए, एडमिन की सेट की गई नीतियों का पालन करना होगा. उदाहरण के लिए, Android में
DevicePolicyManager की सेटिंग का इस्तेमाल करना.
- यह पक्का करना ज़रूरी है कि उपयोगकर्ता के नज़रिए से, रिमोट डिसप्ले और रिमोट इनपुट इवेंट के सभी सोर्स एक ही लॉजिकल डिवाइस (उदाहरण के लिए, रिमोट डिसप्ले और कनेक्ट किया गया कीबोर्ड) से जुड़े हों. साथ ही, इवेंट को उसी हिसाब से रूट किया जाए.
- उपयोगकर्ता को लोकल डिवाइस से स्ट्रीमिंग बंद करने की सुविधा मिलनी चाहिए. उदाहरण के लिए, लगातार दिखने वाली सूचना में मौजूद बटन का इस्तेमाल करके. अगर फ़ोन में स्क्रीन लॉक सेट किया गया है, तो
यह कार्रवाई लॉकस्क्रीन की मदद से तय होती है.
Android 15 से, यह ऐफ़र्डेंस, डिवाइस पर हमेशा दिखना चाहिए. यह फ़ोल्ड के ऊपर दिखना चाहिए.
- जब स्ट्रीमिंग किसी दूसरे डिवाइस पर हो रही हो, तो सोर्स डिवाइस पर कोई सुविधा दिखनी चाहिए. जैसे, स्टेटस बार में कोई आइकॉन या लगातार दिखने वाली सूचना.
|
DEVICE_POLICY_MANAGEMENT |
सभी:
- सिर्फ़ OEM, ऐप्लिकेशन को यह भूमिका दे सकते हैं. इस भूमिका का अनुरोध
ऐप्लिकेशन नहीं कर सकता, क्योंकि इसे डिवाइस के शिप होते समय, OEM की ओर से तय किए गए पैकेज के नाम
के लिए एक पैकेज के तौर पर दिया जाता है.
- ऐप्लिकेशन में, मैनेज की जा रही प्रोफ़ाइल (प्रोफ़ाइल का मालिक) या
मैनेज किए जा रहे डिवाइस (डिवाइस का मालिक) के लिए, डिवाइस/प्रोफ़ाइल के मालिक के तौर पर, डिवाइस नीति क्लाइंट को डाउनलोड और इंस्टॉल करने की सुविधा होनी चाहिए.
- ऐप्लिकेशन, डिवाइस नीति के मैनेजमेंट के लिए इस्तेमाल होने वाली स्ट्रिंग, ड्रॉबल जैसे रिसॉर्स को डाइनैमिक तौर पर अपडेट कर सकता है. हालांकि, ऐसा करना ज़रूरी नहीं है.
- यह ऐप्लिकेशन, पहले से इंस्टॉल किया गया सिस्टम ऐप्लिकेशन हो सकता है या इसे डिवाइस पर उपलब्ध कराने से पहले डाउनलोड और इंस्टॉल किया जा सकता है.
- प्रोफ़ाइल के मालिक को भूमिका देने के मामलों में, जब भूमिका रखने वाले व्यक्ति का ऐप्लिकेशन किसी Android उपयोगकर्ता के डिवाइस पर इंस्टॉल होता है, तो उसे उस उपयोगकर्ता के लिए लागू होने वाली सभी प्रोफ़ाइलों पर इंस्टॉल किया जाना चाहिए.
|
SYSTEM_APP_PROTECTION_SERVICE |
ये सभी:
- यह ऐप्लिकेशन एक
सिस्टम ऐप्लिकेशन है
.
- इस ऐप्लिकेशन का मकसद, नुकसान पहुंचाने वाले ऐप्लिकेशन या
मोबाइल के अनचाहे सॉफ़्टवेयर का पता लगाना है. नुकसान पहुंचाने वाले ऐप्लिकेशन में ऐसे ऐप्लिकेशन शामिल हैं जो उपयोगकर्ताओं, उनके डेटा या डिवाइसों को खतरे में डाल सकते हैं. जैसे, ट्रोजन, फ़िशिंग, और स्पायवेयर ऐप्लिकेशन.
- ऐप्लिकेशन को Android CDD के सेक्शन 9.8.6.
ओएस-लेवल और ऐंबियंट डेटा.
- ऐप्लिकेशन को
android.permission.INTERNET
सामान्य अनुमति का एलान नहीं करना चाहिए. इसके बजाय, यह किसी ओपन सोर्स प्रोजेक्ट में, अच्छी तरह से तय किए गए एपीआई के ज़रिए इंटरनेट को ऐक्सेस करना चाहिए.
- ऐप्लिकेशन को इन सिस्टम ऐप्लिकेशन को छोड़कर, किसी भी ऐप्लिकेशन से बाइंड नहीं किया जाना चाहिए:
Permission Controller और Telephony और इंटरनेट एपीआई उपलब्ध कराने वाले कॉम्पोनेंट. अनुमति वाली हर बाइंडिंग को सिस्टम कॉन्फ़िगरेशन में
<allow-association> कॉन्फ़िगरेशन के ज़रिए साफ़ तौर पर सेट अप किया जाना चाहिए.
- ऐप्लिकेशन को अन्य ऐप्लिकेशन के साथ डेटा तब तक शेयर नहीं करना चाहिए, जब तक कि उपयोगकर्ता की ओर से कोई सीधी कार्रवाई न की गई हो. उदाहरण के लिए, जब भी डेटा शेयर किया जाता है, तब उपयोगकर्ता साफ़ तौर पर किसी बटन को दबाता है.
|
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER |
ये सभी:
- यह ऐप्लिकेशन एक
सिस्टम ऐप्लिकेशन है
.
- सिर्फ़ OEM, ऐप्लिकेशन को यह भूमिका दे सकते हैं.
- ऐप्लिकेशन को उपयोगकर्ता के iOS या Android फ़ोन से Android Auto डिवाइस पर कैलेंडर डेटा ट्रांसफ़र करना होगा. Android Auto डिवाइस को, कैलेंडर की सेवा देने वाली कंपनी के पास, कैलेंडर का यह डेटा सेव करना होगा.
- ऐप्लिकेशन में, फ़ोन पर यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट होना चाहिए. इसका इस्तेमाल करके, उपयोगकर्ता,
कैलेंडर सिंक करने की सुविधा चालू कर सकता है. साथ ही, सिंक करने के लिए कैलेंडर चुन सकता है. ऐप्लिकेशन में, फ़ोन पर ऐसा यूज़र इंटरफ़ेस कॉम्पोनेंट होना चाहिए जिसका इस्तेमाल करके, उपयोगकर्ता कैलेंडर सिंक करने की सुविधा को बंद कर सके.
- ऐप्लिकेशन, इंटरनेट कनेक्शन के बिना काम करना चाहिए. उदाहरण के लिए,
सीधे वायर वाले या वायरलेस कनेक्शन का इस्तेमाल करके.
|
AUTOMOTIVE_NAVIGATION |
ये सभी:
- ऐप्लिकेशन में एक ऐसी गतिविधि है जिसे ऐप्लिकेशन, इंप्लिसिट इंटेंट के अनुरोधों के ज़रिए शुरू कर सकते हैं. इससे, उपयोगकर्ता की मौजूदा जगह और आस-पास की जानकारी दिखती है.
- ऐप्लिकेशन में ऐसी गतिविधि है जिसे ऐप्लिकेशन, इंप्लिसिट इंटेंट के अनुरोधों के ज़रिए शुरू कर सकते हैं. इससे उपयोगकर्ता किसी खास जगह पर जा सकता है.
- ऐप्लिकेशन में एक ऐसी गतिविधि है जो इंस्ट्रूमेंट क्लस्टर पर तब लॉन्च होती है, जब ऐप्लिकेशन नेविगेशन फ़ोकस रखता है.
गतिविधि में उपयोगकर्ता की मौजूदा जगह, आस-पास की जगहें, और किसी खास जगह पर नेविगेट करने की सुविधा दिखनी चाहिए.
|
COMPANION_DEVICE_COMPUTER |
सभी:
- यह ऐप्लिकेशन एक
सिस्टम ऐप्लिकेशन है
.
- सिर्फ़ OEM, ऐप्लिकेशन को यह भूमिका दे सकते हैं.
- उपयोगकर्ताओं को, कनेक्ट किए गए कंप्यूटर पर फ़ोन से सूचनाएं देखने और फ़ोटो और मीडिया ऐक्सेस करने की सुविधा मिलती है.
|
SYSTEM_SETTINGS_INTELLIGENCE |
इनमें से कम से कम कोई एक:
- यह ऐप्लिकेशन एक
सिस्टम ऐप्लिकेशन है
.
- सिर्फ़ OEM, ऐप्लिकेशन को यह भूमिका दे सकते हैं.
- इसमें ऐसी सेवा होनी चाहिए जो सेटिंग ऐप्लिकेशन के लिए, सुझाव और खोज जैसी बेहतर सुविधाएं उपलब्ध कराती हो.
|
NOTES |
सभी:
|
COMPANION_DEVICE_GLASSES |
ऐप्लिकेशन, CompanionDeviceManager क्लास से मिले एपीआई का इस्तेमाल करके, चश्मा डिवाइस से जुड़ने और उसे मैनेज करने का अनुरोध कर सकता है. जब ग्लास डिवाइस और ऐप्लिकेशन को सीडीएम से मिले यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके कनेक्ट किया जाता है, तो उपयोगकर्ता अपने चश्मे के डिवाइस को संपर्कों का ऐक्सेस देकर, सूचनाओं और फ़ोन कॉल को मैनेज करने की अनुमति देकर, उसे मैनेज कर सकते हैं.
|
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING |
ये सभी:
- यह ऐप्लिकेशन एक
सिस्टम ऐप्लिकेशन है
.
- सिर्फ़ OEM, ऐप्लिकेशन को यह भूमिका दे सकते हैं.
- Android 15 से शुरू होने वाली सुविधा
डिवाइस A से डिवाइस B को पहली बार कनेक्ट करते समय:
दोनों डिवाइसों के AccountManager में, एक जैसा कम से कम एक खाता होना चाहिए. साथ ही, एक बार इस्तेमाल होने वाले कोड की मदद से, डिवाइसों को जोड़ने की पुष्टि की जानी चाहिए.
- डिवाइसों को जोड़ते समय, उपयोगकर्ता को दूसरे रिमोट डिवाइस पर खाते के पासवर्ड की पुष्टि करनी होगी या,
- एक बार इस्तेमाल होने वाला कोड, सोर्स डिवाइस पर दिखना चाहिए और
उसे कनेक्ट किए गए डिवाइस पर डाला जाना चाहिए.
- स्ट्रीमिंग के दौरान, रेंज की कोई ज़रूरत नहीं होती.
या फिर, डिवाइस A और डिवाइस B, एक-दूसरे की ब्लूटूथ रेंज में होने चाहिए. साथ ही, स्ट्रीमिंग के लिए एक बार इस्तेमाल होने वाले कोड की अनुमति होनी चाहिए.
- सोर्स डिवाइस पर एक बार इस्तेमाल होने वाला कोड दिखता है. इसे कनेक्ट किए गए डिवाइस पर डाला जाता है.
- स्ट्रीमिंग के दौरान, डिवाइसों को एक-दूसरे की ब्लूटूथ रेंज में रखना ज़रूरी है.
- यह ऐप्लिकेशन, कनेक्ट किए गए डिवाइसों के साथ कम्यूनिकेशन के चैनल बना सकता है और उन्हें मैनेज कर सकता है. इससे डिवाइस, डेटा एक्सचेंज कर सकते हैं. इन कम्यूनिकेशन चैनलों को सेट अप करने के लिए, ऐप्लिकेशन और कनेक्ट किए गए डिवाइसों को एक-दूसरे की पुष्टि करनी होगी. उदाहरण के लिए, शेयर की गई कुंजियों के बारे में जानकारी देकर.
कम्यूनिकेशन चैनलों पर पूरी तरह से एन्क्रिप्ट (सुरक्षित) करने की सुविधा होनी चाहिए.
- ऐप्लिकेशन, स्थानीय डिवाइस से कनेक्ट किए गए डिवाइस पर सूचनाएं भेज सकता है, ताकि उपयोगकर्ता कनेक्ट किए गए डिवाइस पर सूचनाओं पर कार्रवाई कर सके.
- कनेक्ट किए गए डिवाइस पर ऐप्लिकेशन स्ट्रीम करने के लिए, ज़रूरी मेटाडेटा को स्ट्रीम कर सके. जैसे, लोकल डिवाइस पर उपलब्ध ऐप्लिकेशन की सूची.
- जब उपयोगकर्ता साफ़ तौर पर सहमति लेकर (या तो फ़ोन पर या कनेक्ट किए गए डिवाइस पर) अपनी प्राथमिकता के बारे में बताए, तो
स्थानीय डिवाइस से कनेक्ट किए गए डिवाइस पर ऐप्लिकेशन स्ट्रीम करने की अनुमति होनी चाहिए.
- कनेक्ट किए गए डिवाइस पर स्ट्रीम किए जा रहे ऐप्लिकेशन पर होने वाले इवेंट को, स्थानीय डिवाइस पर फिर से चलाया जा सकता है (इंजेक्ट किया जा सकता है). उदाहरण के लिए,
टैबलेट पर उसी निर्देशांक पर टच इवेंट को फिर से चलाना जो फ़ोन पर हुआ था या चश्मे वाले डिवाइस पर हुए इनपुट इवेंट को फिर से चलाना, जो फ़ोन पर हुए इनपुट सेमेटिक्स के साथ हुआ था.
- यह ऐप्लिकेशन, डिवाइस के माइक्रोफ़ोन की स्ट्रीम को, कनेक्ट किए गए डिवाइस की माइक्रोफ़ोन स्ट्रीम से बदल सकता है. ऐसा तब किया जा सकता है, जब स्ट्रीम किया गया ऐप्लिकेशन, माइक्रोफ़ोन का इस्तेमाल कर रहा हो.
- ऐप्लिकेशन, डिवाइस से ऑडियो कैप्चर करता है और उसे कनेक्ट किए गए डिवाइस पर स्ट्रीम करता है.
- कनेक्ट किए गए डिवाइस के ओएस के बिल्ड के भरोसेमंद होने की पुष्टि ज़रूर करनी चाहिए. उदाहरण के लिए,
VerifiedBootState के हिसाब से डिवाइस को प्रमाणित करने की सुविधा का इस्तेमाल करके.
- सिर्फ़ उन ऐप्लिकेशन को स्ट्रीम करें जिनके लिए, दोनों डिवाइसों पर डिवाइस में मौजूद खाते की रजिस्ट्री में एक ही खाता मौजूद हो. उदाहरण के लिए, Android पर
AccountManager क्लास.
अगर ऐसा नहीं है, तो स्ट्रीमिंग की अनुमति देने के लिए,
सोर्स डिवाइस पर एक बार इस्तेमाल होने वाला कोड दिखाना होगा. यह कोड, कनेक्ट किए गए डिवाइस पर डालना होगा. ध्यान दें कि जिन डिवाइसों पर एक से ज़्यादा उपयोगकर्ता (न कि एक से ज़्यादा खाते) वाले उपयोगकर्ता काम करते हैं, उन्हें एक जैसे भरोसेमंद डेटा आइसोलेशन के साथ काम करते हैं.
जैसे, Android मल्टी-यूज़र वाले डिवाइस में,
उन्हें एक डिवाइस के तौर पर गिना जाता है.
- अगर कनेक्ट किए गए डिवाइस पर, खाते की पुष्टि करने की समयसीमा खत्म हो जाती है या वह निरस्त हो जाता है,
तो स्ट्रीमिंग को तुरंत बंद कर देना चाहिए और कनेक्ट किए गए डिवाइस से डिसकनेक्ट कर देना चाहिए.
- अगर सोर्स डिवाइस LSKF का इस्तेमाल करता है, तो स्क्रीन लॉक होने पर
ऐप्लिकेशन को कनेक्ट किए गए डिवाइस पर तब तक स्ट्रीम नहीं करना चाहिए, जब तक कि उस डिवाइस में लॉक स्क्रीन और अनलॉक न हो.
- अगर डिवाइस को एडमिन मैनेज करता है, तो ऐप्लिकेशन को आस-पास के डिवाइसों पर स्ट्रीमिंग की सुविधा चालू या बंद करने के लिए, एडमिन की तय की गई नीतियों का पालन करना होगा. उदाहरण के लिए, Android में
DevicePolicyManager सेटिंग का इस्तेमाल करना.
- यह पक्का करना ज़रूरी है कि उपयोगकर्ता के हिसाब से, रिमोट डिसप्ले और रिमोट इनपुट इवेंट के सभी सोर्स एक ही लॉजिकल डिवाइस (उदाहरण के लिए, रिमोट डिसप्ले और कनेक्ट किया गया कीबोर्ड) से जुड़े हों. साथ ही, इवेंट को उसी हिसाब से रूट किया गया हो.
- उपयोगकर्ता को लोकल डिवाइस से स्ट्रीमिंग बंद करने की सुविधा मिलनी चाहिए. उदाहरण के लिए, लगातार दिखने वाली सूचना में मौजूद बटन का इस्तेमाल करके. अगर फ़ोन में स्क्रीन लॉक सेट है, तो यह व्यवहार लॉकस्क्रीन पर दिखता है.
- जब किसी दूसरे डिवाइस पर स्ट्रीमिंग की जा रही हो, तो सोर्स डिवाइस पर कोई सुविधा दिखनी चाहिए. जैसे, स्टेटस बार में कोई आइकॉन या लगातार दिखने वाली सूचना.
|
WALLET |
इनमें से कोई एक:
- ऐप्लिकेशन में एक ऐसी एनएफ़सी एपीडीयू सेवा है जो पेमेंट कैटगरी में कम से कम एक
एआईडी को स्टैटिक तौर पर रजिस्टर करती है.
- ऐप्लिकेशन,
QuickAccessWalletService का एक इंस्टेंस लागू करता है.
|