डिवाइस से जुड़ी नीति से जुड़ी समस्या हल करने का फ़्रेमवर्क

Android 14 से, डिवाइस की नीति मैनेज करने वाले एक से ज़्यादा एजेंट, DevicePolicyManager एपीआई का इस्तेमाल करके नीतियां सेट कर सकते हैं.

सामान्य सिद्धांत

ऐसे मामलों में जहां एक से ज़्यादा डिवाइस नीति मैनेजमेंट एजेंट, किसी उपयोगकर्ता पर नीतियां लागू करते हैं:

  • डिवाइस की नीति मैनेज करने वाले एजेंट, लागू की गई या हल की गई किसी भी नीति के लिए क्वेरी कर सकते हैं.
  • हर नीति सेट करने पर, एक कॉलबैक (onPolicySetResult) मिलता है. इससे पता चलता है कि नीति सही तरीके से सेट की गई है या किसी वजह से सेट नहीं हो पाई है. जैसे, नीति में अंतर या हार्डवेयर में गड़बड़ी.
  • अगर किसी नीति की 'समस्या हल हो गई है' स्थिति बाद में बदल जाती है, तो एक कॉलबैक (onPolicyChanged) मिलता है. इससे पता चलता है कि नीति, एजेंट की सेट की गई नीति से मेल खाती है या नहीं.
  • ज़्यादातर नीतियां, सबसे सख्त नीति के आधार पर काम करती हैं. इसका मतलब है कि डिवाइस नीति मैनेजमेंट एजेंट की चुनी गई सबसे सख्त नीति लागू हो जाती है.

Android 14 (एपीआई लेवल 34) और उसके बाद के वर्शन

Android 14 (एपीआई लेवल 34) और उसके बाद के वर्शन वाले डिवाइसों पर, नीति से जुड़ी समस्याओं को हल करने के लिए, नीचे दी गई टेबल में बताए गए तरीके का इस्तेमाल करना ज़रूरी है. ऐसा तब करना होगा, जब एक से ज़्यादा डिवाइस नीति मैनेजमेंट एजेंट ने नीति सेट की हो. इस टेबल (MostRecent, MostRestrictive, StringSetUnion, और TopPriority) में बताए गए रिज़ॉल्यूशन मैकेनिज़्म, Android ओपन सोर्स प्रोजेक्ट में बताए गए रिज़ॉल्यूशन के तरीकों के क्लास नाम हैं.

DevicePolicyManager API समस्या हल करने का तरीका
MostRecent: अगर एक से ज़्यादा एडमिन इस नीति को सेट करते हैं, तो सबसे नई नीति लागू की जाती है.
MostRestrictive: अगर किसी एडमिन ने उपयोगकर्ता के लिए पाबंदी सेट की है, तो यह पैरामीटर उसे सेट करता है.
StringSetUnion: एक या एक से ज़्यादा एडमिन की ओर से सेट की गई नीतियों के यूनियन के तौर पर हल होता है. यह उन नीतियों के लिए होता है जिन्हें स्ट्रिंग के सेट के तौर पर दिखाया जाता है.
TopPriority: डिवाइस नीति मैनेजमेंट एजेंट की भूमिका के हिसाब से, सबसे ज़्यादा से सबसे कम प्राथमिकता के क्रम में हल किया जाता है:
  1. डिवाइस लॉक का एडमिन
  2. एंटरप्राइज़ एडमिन
  3. कोई अन्य एडमिन