DpcMigrationClient

interface DpcMigrationClient


dpc माइग्रेशन से संबंधित अनुरोध करने के लिए क्लाइंट.

खास जानकारी

सार्वजनिक फ़ंक्शन

ListenableFuture<DpcMigrationAttempt?>
getMigrationAttempt(
    getMigrationAttemptRequest: GetDpcMigrationAttemptRequest
)

माइग्रेशन की कोशिश की जाती है.

suspend DpcMigrationAttempt?
getMigrationAttemptAwait(
    getMigrationAttemptRequest: GetDpcMigrationAttemptRequest
)

माइग्रेशन की कोशिश की जाती है.

ListenableFuture<List<DpcMigrationAttempt>>

माइग्रेशन की सभी कोशिशों की सूची दिखाता है.

suspend List<DpcMigrationAttempt>

माइग्रेशन की सभी कोशिशों की सूची दिखाता है.

ListenableFuture<DpcMigrationAttempt>
migrateDeviceManagementToAndroidManagementApi(
    notificationServiceComponentName: ComponentName,
    adminComponentName: ComponentName,
    migrationRequest: DpcMigrationRequest
)

इस डिवाइस को Android Management API से मैनेज किए जाने वाले डिवाइस पर माइग्रेट करें.

suspend DpcMigrationAttempt
migrateDeviceManagementToAndroidManagementApiAwait(
    notificationServiceComponentName: ComponentName,
    adminComponentName: ComponentName,
    migrationRequest: DpcMigrationRequest
)

इस डिवाइस को Android Management API से मैनेज किए जाने वाले डिवाइस पर माइग्रेट करें.

सार्वजनिक फ़ंक्शन

getMigrationAttempt

fun getMigrationAttempt(
    getMigrationAttemptRequest: GetDpcMigrationAttemptRequest
): ListenableFuture<DpcMigrationAttempt?>

माइग्रेशन की कोशिश की जाती है.

अगर GetDpcMigrationAttemptRequest में कोई नाम नहीं दिया गया है, तो सबसे हाल का DpcMigrationAttempt दिया जाता है.

इस तरीके का इस्तेमाल सिर्फ़ डिवाइस के मालिक या प्रोफ़ाइल का मालिक कर सकता है. इसके अलावा, डिवाइस का कोई ऐसा मालिक या प्रोफ़ाइल का पिछला मालिक भी इसका इस्तेमाल कर सकता है जिसने Android Management API पर माइग्रेट किया हो.

रिटर्न
ListenableFuture<DpcMigrationAttempt?>

नतीजे को ListenableFuture में रैप किया जा रहा है. यह इनमें से कोई भी हो सकता है

  • सफलता के मामले में, DpcMigrationAttempt को आने वाले समय में रैप करना.

  • DpcMigrationAttempt न मिलने पर, आने वाले समय में रैपिंग शून्य हो जाएगी.

  • आने वाले समय में SecurityException को रैप नहीं किया जा सकेगा. ऐसा तब होगा, जब कॉल करने वाला, डिवाइस का मालिक या प्रोफ़ाइल का मालिक न हो. इसके अलावा, वह डिवाइस का मालिक या प्रोफ़ाइल का पुराना मालिक न हो, जिसे Android Management API पर माइग्रेट किया गया हो.

  • अगर dpc माइग्रेशन से जुड़ा कॉल विफल हो जाता है, तो भविष्य में रैपिंग नहीं की जा सकी DpcMigrationException. मैसेज और अपवाद के सब-टाइप में, गड़बड़ी के बारे में ज़्यादा जानकारी दी गई है.

getMigrationAttemptAwait

suspend fun getMigrationAttemptAwait(
    getMigrationAttemptRequest: GetDpcMigrationAttemptRequest
): DpcMigrationAttempt?

माइग्रेशन की कोशिश की जाती है.

अगर GetDpcMigrationAttemptRequest में कोई नाम नहीं दिया गया है, तो सबसे हाल का DpcMigrationAttempt दिया जाता है.

इस तरीके का इस्तेमाल सिर्फ़ डिवाइस के मालिक या प्रोफ़ाइल का मालिक कर सकता है. इसके अलावा, डिवाइस का कोई ऐसा मालिक या प्रोफ़ाइल का पिछला मालिक भी इसका इस्तेमाल कर सकता है जिसने Android Management API पर माइग्रेट किया हो.

रिटर्न
DpcMigrationAttempt?

अनुरोध किया गया DpcMigrationAttempt या नहीं मिलने पर शून्य

थ्रो
java.lang.SecurityException

अगर कॉलर, डिवाइस का मालिक या प्रोफ़ाइल का मालिक नहीं है. इसके अलावा, वह Android Management API पर माइग्रेट करने वाला पुराना डिवाइस मालिक या प्रोफ़ाइल का मालिक भी नहीं है.

com.google.android.managementapi.dpcmigration.DpcMigrationException

अगर dpc माइग्रेशन संबंधित कॉल विफल रहा. मैसेज और अपवाद के सब-टाइप में, गड़बड़ी के बारे में ज़्यादा जानकारी दी गई है.

listMigrationAttempts

fun listMigrationAttempts(): ListenableFuture<List<DpcMigrationAttempt>>

माइग्रेशन की सभी कोशिशों की सूची दिखाता है.

इस तरीके का इस्तेमाल सिर्फ़ डिवाइस के मालिक या प्रोफ़ाइल का मालिक कर सकता है. इसके अलावा, डिवाइस का कोई ऐसा मालिक या प्रोफ़ाइल का पिछला मालिक भी इसका इस्तेमाल कर सकता है जिसने Android Management API पर माइग्रेट किया हो. ध्यान दें: माइग्रेशन की पुरानी कोशिशें अपने-आप मिट जाती हैं और उन्हें वापस नहीं किया जाता है.

रिटर्न
ListenableFuture<List<DpcMigrationAttempt>>

नतीजे को ListenableFuture में रैप किया जा रहा है. यह इनमें से कोई भी हो सकता है

  • सफल होने पर, DpcMigrationAttempt की सूची को आने वाले समय में रैप किया जाएगा.

  • आने वाले समय में SecurityException को रैप नहीं किया जा सकेगा. ऐसा तब होगा, जब कॉल करने वाला, डिवाइस का मालिक या प्रोफ़ाइल का मालिक न हो. इसके अलावा, वह डिवाइस का मालिक या प्रोफ़ाइल का पुराना मालिक न हो, जिसे Android Management API पर माइग्रेट किया गया हो.

  • अगर dpc माइग्रेशन से जुड़ा कॉल विफल हो जाता है, तो भविष्य में रैपिंग नहीं की जा सकी DpcMigrationException. मैसेज और अपवाद के सब-टाइप में, गड़बड़ी के बारे में ज़्यादा जानकारी दी गई है.

listMigrationAttemptsAwait

suspend fun listMigrationAttemptsAwait(): List<DpcMigrationAttempt>

माइग्रेशन की सभी कोशिशों की सूची दिखाता है.

इस तरीके का इस्तेमाल सिर्फ़ डिवाइस के मालिक या प्रोफ़ाइल का मालिक कर सकता है. इसके अलावा, डिवाइस का कोई ऐसा मालिक या प्रोफ़ाइल का पिछला मालिक भी इसका इस्तेमाल कर सकता है जिसने Android Management API पर माइग्रेट किया हो. ध्यान दें: माइग्रेशन की पुरानी कोशिशें अपने-आप मिट जाती हैं और उन्हें वापस नहीं किया जाता है.

रिटर्न
List<DpcMigrationAttempt>

DpcMigrationAttempt की सूची

थ्रो
java.lang.SecurityException

अगर कॉलर, डिवाइस का मालिक या प्रोफ़ाइल का मालिक नहीं है. इसके अलावा, वह Android Management API पर माइग्रेट करने वाला पुराना डिवाइस मालिक या प्रोफ़ाइल का मालिक भी नहीं है.

com.google.android.managementapi.dpcmigration.DpcMigrationException

अगर dpc माइग्रेशन संबंधित कॉल विफल रहा. मैसेज और अपवाद के सब-टाइप में, गड़बड़ी के बारे में ज़्यादा जानकारी दी गई है.

migrateDeviceManagementToAndroidManagementApi

fun migrateDeviceManagementToAndroidManagementApi(
    notificationServiceComponentName: ComponentName,
    adminComponentName: ComponentName,
    migrationRequest: DpcMigrationRequest
): ListenableFuture<DpcMigrationAttempt>

इस डिवाइस को Android Management API से मैनेज किए जाने वाले डिवाइस पर माइग्रेट करें.

माइग्रेशन पूरा होने के बाद, कॉल करने वाले ऐप्लिकेशन के पास डिवाइस के मालिक या प्रोफ़ाइल के मालिक के खास अधिकार खत्म हो जाएंगे. ऐसा इसलिए, क्योंकि उन्हें Android Device Policy में ट्रांसफ़र कर दिया जाता है.

चेतावनी: इसे पहले जैसा नहीं किया जा सकता! जब Android Device Policy को अनुरोध मिल जाता है और माइग्रेशन टोकन की शुरुआती जांच पूरी हो जाती है, तो जवाब में मिले जवाब के डेटा को VoiceableFuture से मैच किया जा सकता है. अगर ऐसा नहीं हो पाता है, तो LearnableFuture में Exception को रैप किया जाएगा.

इस तरीके को सिर्फ़ डिवाइस का मालिक या प्रोफ़ाइल का मालिक कॉल कर सकता है. Android 10 और उससे पहले के वर्शन वाले डिवाइसों पर, इस सेटिंग को बंद करने के लिए ज़रूरी है कि डिवाइस के मालिक और प्रोफ़ाइल के मालिक, दोनों के पास यह अनुमति न हो.

अगर किसी निजी डिवाइस पर कोई वाई-फ़ाई नेटवर्क कॉन्फ़िगर किया गया है, तो प्रोफ़ाइल के मालिक (Android 12 को छोड़कर) को DpcMigrationRequest में कॉन्फ़िगर किए गए वाई-फ़ाई नेटवर्क पास करने होंगे. इन्हें कंपनी के मालिकाना हक वाले डिवाइस पर पास नहीं किया जाना चाहिए. ध्यान दें कि डिवाइस मैनेजमेंट को Android Device Policy पर माइग्रेट करने से ठीक पहले, इन वाई-फ़ाई नेटवर्क को हटा दिया जाएगा. किसी नेटवर्क को नहीं हटाया जा सका, तो माइग्रेशन भी नहीं हो पाएगा. साथ ही, नेटवर्क हटाना कोई ऐटॉमिक ऑपरेशन नहीं है, इसलिए हो सकता है कि कुछ नेटवर्क पहले ही हटा दिए गए हों.

Android 12 पर चलने वाली वर्क प्रोफ़ाइल वाले निजी डिवाइसों पर, DPC से कॉन्फ़िगर किए गए सभी वाई-फ़ाई नेटवर्क हटा दिए जाएंगे. ऐसा, डिवाइस मैनेजमेंट को Android Device Policy पर माइग्रेट करने से ठीक पहले किया जाएगा, भले ही migrationRequest में कोई भी वाई-फ़ाई नेटवर्क पास किया गया हो.

पैरामीटर
notificationServiceComponentName: ComponentName

NotificationReceiverService को बढ़ाने वाली सेवा का ComponentName. यह कॉलिंग ऐप्लिकेशन का एक मान्य कॉम्पोनेंट होना चाहिए और इसे मेनिफ़ेस्ट में एक्सपोर्ट करना चाहिए. ऐसा न करने पर, IllegalArgumentException इस्तेमाल नहीं किया जाएगा.

adminComponentName: ComponentName

कॉल करने वाले DPC के एडमिन DeviceAdminReceiver का ComponentName.

migrationRequest: DpcMigrationRequest

DpcMigrationRequest, जिसमें माइग्रेशन टोकन और कॉन्फ़िगर किए गए वाई-फ़ाई नेटवर्क शामिल हैं. बाद की ज़रूरत सिर्फ़ तब होती है, जब कॉलर निजी डिवाइस पर प्रोफ़ाइल का मालिक हो और उसने किसी भी नेटवर्क को कॉन्फ़िगर किया हो.

रिटर्न
ListenableFuture<DpcMigrationAttempt>

नतीजे को ListenableFuture में रैप किया जा रहा है. यह इनमें से कोई भी हो सकता है

  • सफलता के मामले में, DpcMigrationAttempt को आने वाले समय में रैप करना.

  • अगर कॉलर, डिवाइस का मालिक या प्रोफ़ाइल का मालिक नहीं है, तो SecurityException को आने वाले समय में रैप नहीं किया जा सकेगा.

  • अगर माइग्रेशन टोकन खाली है, तो IllegalArgumentException को आने वाले समय में रैप नहीं किया जा सकेगा. इसके अलावा, अगर notificationServiceComponentName, मेनिफ़ेस्ट में एक्सपोर्ट किए गए NotificationReceiverService को बढ़ाने वाले मान्य कॉम्पोनेंट को रेफ़र नहीं करता है या adminComponentName मौजूदा पैकेज से जुड़ा ऐक्टिव एडमिन नहीं है.

  • अगर डीपीसी माइग्रेशन से जुड़ा कॉल पूरा नहीं हो पाता है, तो आने वाले समय में DpcMigrationException को रैप नहीं किया जा सकेगा. मैसेज और अपवाद के सब-टाइप में, गड़बड़ी के बारे में ज़्यादा जानकारी दी गई है.

migrateDeviceManagementToAndroidManagementApiAwait

suspend fun migrateDeviceManagementToAndroidManagementApiAwait(
    notificationServiceComponentName: ComponentName,
    adminComponentName: ComponentName,
    migrationRequest: DpcMigrationRequest
): DpcMigrationAttempt

इस डिवाइस को Android Management API से मैनेज किए जाने वाले डिवाइस पर माइग्रेट करें.

माइग्रेशन पूरा होने के बाद, कॉल करने वाले ऐप्लिकेशन के पास डिवाइस के मालिक या प्रोफ़ाइल के मालिक के खास अधिकार खत्म हो जाएंगे. ऐसा इसलिए, क्योंकि उन्हें Android Device Policy में ट्रांसफ़र कर दिया जाता है.

चेतावनी: इसे पहले जैसा नहीं किया जा सकता! यह सुविधा तब निलंबित करती है, जब Android Device Policy को अनुरोध मिल जाता है और माइग्रेशन टोकन की शुरुआती जांच पूरी हो जाती है. अगर ऐसा नहीं हो पाता है, तो Exception थ्रॉ किया जाता है.

इस तरीके को सिर्फ़ डिवाइस का मालिक या प्रोफ़ाइल का मालिक कॉल कर सकता है. Android 10 और उससे पहले के वर्शन वाले डिवाइसों पर, इस सेटिंग को बंद करने के लिए ज़रूरी है कि डिवाइस के मालिक और प्रोफ़ाइल के मालिक, दोनों के पास यह अनुमति न हो.

अगर किसी निजी डिवाइस पर कोई वाई-फ़ाई नेटवर्क कॉन्फ़िगर किया गया है, तो प्रोफ़ाइल के मालिक (Android 12 को छोड़कर) को DpcMigrationRequest में कॉन्फ़िगर किए गए वाई-फ़ाई नेटवर्क पास करने होंगे. इन्हें कंपनी के मालिकाना हक वाले डिवाइस पर पास नहीं किया जाना चाहिए. ध्यान दें कि डिवाइस मैनेजमेंट को Android Device Policy पर माइग्रेट करने से ठीक पहले, इन वाई-फ़ाई नेटवर्क को हटा दिया जाएगा. किसी नेटवर्क को नहीं हटाया जा सका, तो माइग्रेशन भी नहीं हो पाएगा. साथ ही, नेटवर्क हटाना कोई ऐटॉमिक ऑपरेशन नहीं है, इसलिए हो सकता है कि कुछ नेटवर्क पहले ही हटा दिए गए हों.

Android 12 पर चलने वाली वर्क प्रोफ़ाइल वाले निजी डिवाइसों पर, DPC से कॉन्फ़िगर किए गए सभी वाई-फ़ाई नेटवर्क हटा दिए जाएंगे. ऐसा, डिवाइस मैनेजमेंट को Android Device Policy पर माइग्रेट करने से ठीक पहले किया जाएगा, भले ही migrationRequest में कोई भी वाई-फ़ाई नेटवर्क पास किया गया हो.

पैरामीटर
notificationServiceComponentName: ComponentName

NotificationReceiverService को बढ़ाने वाली सेवा का ComponentName. यह कॉलिंग ऐप्लिकेशन का एक मान्य कॉम्पोनेंट होना चाहिए और इसे मेनिफ़ेस्ट में एक्सपोर्ट करना चाहिए. ऐसा न करने पर, IllegalArgumentException इस्तेमाल नहीं किया जाएगा.

adminComponentName: ComponentName

कॉल करने वाले DPC के एडमिन DeviceAdminReceiver का ComponentName.

migrationRequest: DpcMigrationRequest

DpcMigrationRequest, जिसमें माइग्रेशन टोकन और कॉन्फ़िगर किए गए वाई-फ़ाई नेटवर्क शामिल हैं. बाद की ज़रूरत सिर्फ़ तब होती है, जब कॉलर निजी डिवाइस पर प्रोफ़ाइल का मालिक हो और उसने किसी भी नेटवर्क को कॉन्फ़िगर किया हो.

रिटर्न
DpcMigrationAttempt

सफल होने पर, माइग्रेशन की मौजूदा स्थिति के साथ DpcMigrationException.

थ्रो
java.lang.SecurityException

अगर कॉलर, डिवाइस का मालिक या प्रोफ़ाइल का मालिक नहीं है.

java.lang.IllegalArgumentException

अगर माइग्रेशन टोकन खाली है या अगर notificationServiceComponentName, मेनिफ़ेस्ट में एक्सपोर्ट किए गए NotificationReceiverService को बड़ा करने वाले मान्य कॉम्पोनेंट को रेफ़र नहीं करता है या adminComponentName मौजूदा पैकेज से जुड़ा कोई ऐक्टिव एडमिन नहीं है.

com.google.android.managementapi.dpcmigration.DpcMigrationException

अगर dpc माइग्रेशन संबंधित कॉल विफल रहा. मैसेज और अपवाद के सब-टाइप में, गड़बड़ी के बारे में ज़्यादा जानकारी दी गई है.