Android 14 से, एक से ज़्यादा डिवाइस पॉलिसी
मैनेजमेंट एजेंट, DevicePolicyManager
एपीआई का इस्तेमाल करके नीतियां सेट कर सकते हैं.
सामान्य सिद्धांत
अगर एक से ज़्यादा डिवाइस पॉलिसी मैनेजमेंट एजेंट, किसी उपयोगकर्ता के लिए नीतियां लागू करते हैं, तो:
- डिवाइस पॉलिसी मैनेजमेंट एजेंट, लागू की गई या हल की गई किसी भी नीति के बारे में क्वेरी कर सकते हैं. हालांकि, इसके लिए ज़रूरी है कि वे उस नीति को सेट कर सकें.
- हर नीति को सेट करने पर, एक कॉलबैक (
onPolicySetResult) मिलता है. इससे पता चलता है कि नीति सही तरीके से सेट की गई है या किसी वजह से सेट नहीं की जा सकी. जैसे, नीति में टकराव या हार्डवेयर में गड़बड़ी. - अगर बाद में किसी नीति की हल की गई स्थिति बदलती है, तो एक कॉलबैक (
onPolicyChanged) मिलता है. इससे पता चलता है कि नीति, एजेंट की सेट की गई नीति से मेल खाती है या नहीं. - ज़्यादातर नीतियां, सबसे सख्त नीति के आधार पर काम करती हैं. इसका मतलब है कि डिवाइस पॉलिसी मैनेजमेंट एजेंट की चुनी गई सबसे सख्त नीति लागू की जाती है.
Android 14 (एपीआई लेवल 34) और इसके बाद के वर्शन
Android 14 (एपीआई लेवल 34) और इसके बाद के वर्शन में, Android के साथ काम करने वाले डिवाइसों को नीति के टकराव को हल करने के लिए, यहां दी गई टेबल में बताए गए नीति के रिज़ॉल्यूशन मैकेनिज़्म को लागू करना होगा. ऐसा तब करना होगा, जब एक से ज़्यादा डिवाइस पॉलिसी मैनेजमेंट एजेंट, कोई नीति सेट करते हैं. यहां दी गई टेबल में बताए गए रिज़ॉल्यूशन मैकेनिज़्म (MostRecent, MostRestrictive, StringSetUnion, और TopPriority), Android ओपन सोर्स प्रोजेक्ट में तय किए गए रिज़ॉल्यूशन मैकेनिज़्म के क्लास नेम हैं.
| DevicePolicyManager API | समस्या को हल करने का तरीका |
|---|---|
MostRecent: एक से ज़्यादा एडमिन के सेट करने पर, सबसे हाल की नीति लागू की जाती है. |
|
|
MostRestrictive: अगर किसी एडमिन ने उपयोगकर्ता पर पाबंदी सेट की है, तो उसे लागू किया जाता है. |
StringSetUnion: एक या उससे ज़्यादा एडमिन की सेट की गई नीतियों के यूनियन के तौर पर हल करता है. यह उन नीतियों के लिए है जिन्हें स्ट्रिंग के सेट के तौर पर दिखाया जाता है. |
|
TopPriority: डिवाइस पॉलिसी मैनेजमेंट एजेंट की भूमिका के हिसाब से, सबसे ज़्यादा से सबसे कम प्राथमिकता के क्रम में हल करता है:
|