DpcMigrationClient

public interface DpcMigrationClient


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

खास जानकारी

सार्वजनिक तरीके

abstract @NonNull ListenableFuture<DpcMigrationAttempt>
getMigrationAttempt(
    @NonNull GetDpcMigrationAttemptRequest getMigrationAttemptRequest
)

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

abstract DpcMigrationAttempt
getMigrationAttemptAwait(
    @NonNull GetDpcMigrationAttemptRequest getMigrationAttemptRequest
)

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

abstract @NonNull ListenableFuture<@NonNull List<@NonNull DpcMigrationAttempt>>

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

abstract @NonNull List<@NonNull DpcMigrationAttempt>

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

abstract @NonNull ListenableFuture<@NonNull DpcMigrationAttempt>
migrateDeviceManagementToAndroidManagementApi(
    @NonNull ComponentName notificationServiceComponentName,
    @NonNull ComponentName adminComponentName,
    @NonNull DpcMigrationRequest migrationRequest
)

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

abstract @NonNull DpcMigrationAttempt
migrateDeviceManagementToAndroidManagementApiAwait(
    @NonNull ComponentName notificationServiceComponentName,
    @NonNull ComponentName adminComponentName,
    @NonNull DpcMigrationRequest migrationRequest
)

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

सार्वजनिक तरीके

getMigrationAttempt

abstract @NonNull ListenableFuture<DpcMigrationAttemptgetMigrationAttempt(
    @NonNull GetDpcMigrationAttemptRequest getMigrationAttemptRequest
)

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

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

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

रिटर्न
@NonNull ListenableFuture<DpcMigrationAttempt>

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

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

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

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

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

getMigrationAttemptAwait

abstract DpcMigrationAttempt getMigrationAttemptAwait(
    @NonNull GetDpcMigrationAttemptRequest getMigrationAttemptRequest
)

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

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

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

रिटर्न
DpcMigrationAttempt

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

थ्रो
java.lang.SecurityException

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

com.google.android.managementapi.dpcmigration.DpcMigrationException

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

listMigrationAttempts

abstract @NonNull ListenableFuture<@NonNull List<@NonNull DpcMigrationAttempt>> listMigrationAttempts()

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

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

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

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

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

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

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

listMigrationAttemptsAwait

abstract @NonNull List<@NonNull DpcMigrationAttemptlistMigrationAttemptsAwait()

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

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

रिटर्न
@NonNull List<@NonNull DpcMigrationAttempt>

DpcMigrationAttempt की सूची

थ्रो
java.lang.SecurityException

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

com.google.android.managementapi.dpcmigration.DpcMigrationException

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

migrateDeviceManagementToAndroidManagementApi

abstract @NonNull ListenableFuture<@NonNull DpcMigrationAttemptmigrateDeviceManagementToAndroidManagementApi(
    @NonNull ComponentName notificationServiceComponentName,
    @NonNull ComponentName adminComponentName,
    @NonNull DpcMigrationRequest migrationRequest
)

इस डिवाइस को 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 में कोई भी वाई-फ़ाई नेटवर्क पास किया गया हो.

पैरामीटर
@NonNull ComponentName notificationServiceComponentName

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

@NonNull ComponentName adminComponentName

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

@NonNull DpcMigrationRequest migrationRequest

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

रिटर्न
@NonNull ListenableFuture<@NonNull DpcMigrationAttempt>

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

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

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

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

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

migrateDeviceManagementToAndroidManagementApiAwait

abstract @NonNull DpcMigrationAttempt migrateDeviceManagementToAndroidManagementApiAwait(
    @NonNull ComponentName notificationServiceComponentName,
    @NonNull ComponentName adminComponentName,
    @NonNull DpcMigrationRequest migrationRequest
)

इस डिवाइस को 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 में कोई भी वाई-फ़ाई नेटवर्क पास किया गया हो.

पैरामीटर
@NonNull ComponentName notificationServiceComponentName

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

@NonNull ComponentName adminComponentName

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

@NonNull DpcMigrationRequest migrationRequest

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

रिटर्न
@NonNull DpcMigrationAttempt

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

थ्रो
java.lang.SecurityException

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

java.lang.IllegalArgumentException

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

com.google.android.managementapi.dpcmigration.DpcMigrationException

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