کلاینت مهاجرت Dpc

public interface DpcMigrationClient


کلاینت برای انجام درخواست‌های مربوط به مهاجرت dpc.

خلاصه

روش‌های عمومی

abstract @ NonNull ListenableFuture < DpcMigrationAttempt >

یک تلاش برای مهاجرت دریافت می‌کند.

abstract DpcMigrationAttempt

یک تلاش برای مهاجرت دریافت می‌کند.

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
)

این دستگاه را به حالتی منتقل کنید که توسط API مدیریت اندروید مدیریت شود.

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

این دستگاه را به حالتی منتقل کنید که توسط API مدیریت اندروید مدیریت شود.

روش‌های عمومی

تلاش برای مهاجرت

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

یک تلاش برای مهاجرت دریافت می‌کند.

اگر هیچ نامی در GetDpcMigrationAttemptRequest مشخص نشده باشد، جدیدترین DpcMigrationAttempt بازگردانده می‌شود.

این متد فقط می‌تواند توسط مالک دستگاه یا مالک پروفایل یا مالک دستگاه یا مالک پروفایل قبلی که به API مدیریت اندروید مهاجرت کرده‌اند، فراخوانی شود.

بازگشت‌ها
@ NonNull ListenableFuture < DpcMigrationAttempt >

یک ListenableFuture که نتیجه را در بر می‌گیرد. این می‌تواند باشد

  • در صورت موفقیت، آینده‌ای موفق که DpcMigrationAttempt را در بر می‌گیرد.

  • یک پوشش موفق null در آینده، در صورتی که DpcMigrationAttempt پیدا نشود.

  • یک خطای آینده‌ی ناموفق که شامل یک SecurityException می‌شود، در صورتی که تماس‌گیرنده مالک دستگاه یا مالک پروفایل یا مالک دستگاه یا مالک پروفایل قبلی که به API مدیریت اندروید مهاجرت کرده است، نباشد.

  • یک خطای DpcMigrationException در بسته‌بندی آینده اگر فراخوانی مربوط به مهاجرت dpc با شکست مواجه شود. پیام و زیرنوع خطا حاوی جزئیات بیشتری در مورد شکست هستند.

دریافت تلاش برای مهاجرت منتظر بمانید

abstract DpcMigrationAttempt getMigrationAttemptAwait(
    @NonNull GetDpcMigrationAttemptRequest getMigrationAttemptRequest
)

یک تلاش برای مهاجرت دریافت می‌کند.

اگر هیچ نامی در GetDpcMigrationAttemptRequest مشخص نشده باشد، جدیدترین DpcMigrationAttempt بازگردانده می‌شود.

این متد فقط می‌تواند توسط مالک دستگاه یا مالک پروفایل یا مالک دستگاه یا مالک پروفایل قبلی که به API مدیریت اندروید مهاجرت کرده‌اند، فراخوانی شود.

بازگشت‌ها
DpcMigrationAttempt

درخواست DpcMigrationAttempt یا در صورت عدم یافتن، null باشد.

پرتاب‌ها
java.lang.SecurityException

اگر تماس‌گیرنده مالک دستگاه یا مالک پروفایل یا مالک دستگاه یا مالک پروفایل قبلی که به API مدیریت اندروید مهاجرت کرده است، نباشد.

com.google.android.managementapi.dpcmigration.DpcMigrationException

اگر فراخوانی مربوط به مهاجرت dpc ناموفق بود، پیام و زیرنوع استثنا حاوی جزئیات بیشتری در مورد شکست هستند.

لیست تلاش‌های مهاجرت

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

لیستی از تمام تلاش‌های مهاجرت را برمی‌گرداند.

این متد فقط می‌تواند توسط مالک دستگاه یا مالک پروفایل، یا مالک دستگاه یا مالک پروفایل قبلی که به API مدیریت اندروید مهاجرت کرده است، فراخوانی شود. توجه: تلاش‌های مهاجرت قدیمی‌تر به طور خودکار حذف می‌شوند و بازگردانده نمی‌شوند.

بازگشت‌ها
@ NonNull ListenableFuture <@ NonNull List <@ NonNull DpcMigrationAttempt >>

یک ListenableFuture که نتیجه را در بر می‌گیرد. این می‌تواند باشد

  • در صورت موفقیت، آینده‌ای موفق که فهرستی از DpcMigrationAttempt را در بر می‌گیرد.

  • یک خطای آینده‌ی ناموفق که شامل یک SecurityException می‌شود، در صورتی که تماس‌گیرنده مالک دستگاه یا مالک پروفایل یا مالک دستگاه یا مالک پروفایل قبلی که به API مدیریت اندروید مهاجرت کرده است، نباشد.

  • یک خطای DpcMigrationException در بسته‌بندی آینده اگر فراخوانی مربوط به مهاجرت dpc با شکست مواجه شود. پیام و زیرنوع خطا حاوی جزئیات بیشتری در مورد شکست هستند.

listMigrationAttemptsAwait

abstract @NonNull List<@NonNull DpcMigrationAttemptlistMigrationAttemptsAwait()

لیستی از تمام تلاش‌های مهاجرت را برمی‌گرداند.

این متد فقط می‌تواند توسط مالک دستگاه یا مالک پروفایل، یا مالک دستگاه یا مالک پروفایل قبلی که به API مدیریت اندروید مهاجرت کرده است، فراخوانی شود. توجه: تلاش‌های مهاجرت قدیمی‌تر به طور خودکار حذف می‌شوند و بازگردانده نمی‌شوند.

بازگشت‌ها
@ NonNull List <@ NonNull DpcMigrationAttempt >

فهرستی از DpcMigrationAttempt

پرتاب‌ها
java.lang.SecurityException

اگر تماس‌گیرنده مالک دستگاه یا مالک پروفایل یا مالک دستگاه یا مالک پروفایل قبلی که به API مدیریت اندروید مهاجرت کرده است، نباشد.

com.google.android.managementapi.dpcmigration.DpcMigrationException

اگر فراخوانی مربوط به مهاجرت dpc ناموفق بود، پیام و زیرنوع استثنا حاوی جزئیات بیشتری در مورد شکست هستند.

migrateDeviceManagementToAndroidManagementApi

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

این دستگاه را به حالتی منتقل کنید که توسط API مدیریت اندروید مدیریت شود.

پس از تکمیل مهاجرت، برنامه‌ی فراخوانی، امتیازات مالک دستگاه یا مالک پروفایل خود را از دست می‌دهد، زیرا این امتیازات به خط‌مشی دستگاه اندروید منتقل می‌شوند.

هشدار: این کار قابل بازگشت نیست! ListenableFuture برگردانده شده زمانی کامل می‌شود که Android Device Policy درخواست را دریافت کرده و بررسی‌های اولیه روی توکن مهاجرت را انجام داده باشد. در صورت عدم موفقیت، ListenableFuture یک Exception پوشش می‌دهد.

این متد فقط می‌تواند توسط مالک دستگاه یا مالک پروفایل فراخوانی شود. در اندروید ۱۰ و پایین‌تر، این متد نباید در دستگاهی که هم مالک دستگاه و هم مالک پروفایل دارد، فراخوانی شود.

شبکه‌های وای‌فای پیکربندی‌شده باید توسط مالک پروفایل (به‌جز در اندروید ۱۲) در دستگاه شخصی‌اش (در صورتی که شبکه وای‌فای پیکربندی کرده باشد) در DpcMigrationRequest ارسال شوند. این شبکه‌ها نباید در دستگاه شرکت ارسال شوند. توجه داشته باشید که این شبکه‌های وای‌فای درست قبل از انتقال مدیریت دستگاه به Android Device Policy حذف خواهند شد. در صورت عدم موفقیت در حذف یک شبکه، انتقال نیز با شکست مواجه می‌شود و از آنجایی که حذف شبکه‌ها یک عملیات اتمیک نیست، ممکن است برخی از شبکه‌ها قبلاً حذف شده باشند.

در دستگاه‌های شخصی با پروفایل کاری که اندروید ۱۲ را اجرا می‌کنند، تمام شبکه‌های وای‌فای پیکربندی‌شده توسط DPC فراخوانی‌شده، درست قبل از انتقال مدیریت دستگاه به خط‌مشی دستگاه اندروید، صرف‌نظر از شبکه‌های وای‌فای ارسال‌شده در migrationRequest ، حذف خواهند شد.

پارامترها
@ NonNull ComponentName notificationServiceComponentName

ComponentName سرویسی که NotificationReceiverService بسط می‌دهد. این باید یک کامپوننت معتبر متعلق به برنامه‌ی فراخوانی‌کننده باشد و در مانیفست صادر شود، در غیر این صورت خطای IllegalArgumentException رخ خواهد داد.

@ NonNull ComponentName adminComponentName

ComponentName مربوط به DeviceAdminReceiver مربوط به DPC فراخوانی‌کننده.

@ NonNull DpcMigrationRequest migrationRequest

درخواست DpcMigrationRequest حاوی توکن مهاجرت و شبکه‌های وای‌فای پیکربندی‌شده. موارد اخیر فقط در صورتی مورد نیاز هستند که تماس‌گیرنده، مالک پروفایل در یک دستگاه شخصی باشد و هرگونه شبکه‌ای را پیکربندی کرده باشد.

بازگشت‌ها
@ NonNull ListenableFuture <@ NonNull DpcMigrationAttempt >

یک ListenableFuture که نتیجه را در بر می‌گیرد. این می‌تواند باشد

  • در صورت موفقیت، آینده‌ای موفق که DpcMigrationAttempt را در بر می‌گیرد.

  • یک خطای آینده که شامل یک SecurityException می‌شود، اگر تماس‌گیرنده مالک دستگاه یا مالک پروفایل نباشد.

  • یک خطای آینده‌ی ناموفق که یک IllegalArgumentException را در بر می‌گیرد، اگر توکن مهاجرت خالی باشد، یا اگر notificationServiceComponentName به یک کامپوننت معتبر که NotificationReceiverService که در مانیفست صادر شده است، گسترش می‌دهد، اشاره نکند، یا اگر adminComponentName یک ادمین فعال متعلق به پکیج فعلی نباشد.

  • یک خطای آینده که در صورت عدم موفقیت فراخوانی مربوط به مهاجرت dpc، یک DpcMigrationException را در بر می‌گیرد. پیام و زیرنوع خطا حاوی جزئیات بیشتری در مورد شکست هستند.

migrateDeviceManagementToAndroidManagementApiAwait

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

این دستگاه را به حالتی منتقل کنید که توسط API مدیریت اندروید مدیریت شود.

پس از تکمیل مهاجرت، برنامه‌ی فراخوانی، امتیازات مالک دستگاه یا مالک پروفایل خود را از دست می‌دهد، زیرا این امتیازات به خط‌مشی دستگاه اندروید منتقل می‌شوند.

هشدار: این قابل بازگشت نیست! این حالت تعلیق زمانی برمی‌گردد که Android Device Policy درخواست را دریافت کرده و بررسی‌های اولیه روی توکن مهاجرت را تکمیل کرده باشد. در صورت عدم موفقیت، یک Exception ایجاد می‌شود.

این متد فقط می‌تواند توسط مالک دستگاه یا مالک پروفایل فراخوانی شود. در اندروید ۱۰ و پایین‌تر، این متد نباید در دستگاهی که هم مالک دستگاه و هم مالک پروفایل دارد، فراخوانی شود.

شبکه‌های وای‌فای پیکربندی‌شده باید توسط مالک پروفایل (به‌جز در اندروید ۱۲) در دستگاه شخصی‌اش (در صورتی که شبکه وای‌فای پیکربندی کرده باشد) در DpcMigrationRequest ارسال شوند. این شبکه‌ها نباید در دستگاه شرکت ارسال شوند. توجه داشته باشید که این شبکه‌های وای‌فای درست قبل از انتقال مدیریت دستگاه به Android Device Policy حذف خواهند شد. در صورت عدم موفقیت در حذف یک شبکه، انتقال نیز با شکست مواجه می‌شود و از آنجایی که حذف شبکه‌ها یک عملیات اتمیک نیست، ممکن است برخی از شبکه‌ها قبلاً حذف شده باشند.

در دستگاه‌های شخصی با پروفایل کاری که اندروید ۱۲ را اجرا می‌کنند، تمام شبکه‌های وای‌فای پیکربندی‌شده توسط DPC فراخوانی‌شده، درست قبل از انتقال مدیریت دستگاه به خط‌مشی دستگاه اندروید، صرف‌نظر از شبکه‌های وای‌فای ارسال‌شده در migrationRequest ، حذف خواهند شد.

پارامترها
@ NonNull ComponentName notificationServiceComponentName

ComponentName سرویسی که NotificationReceiverService بسط می‌دهد. این باید یک کامپوننت معتبر متعلق به برنامه‌ی فراخوانی‌کننده باشد و در مانیفست صادر شود، در غیر این صورت خطای IllegalArgumentException رخ خواهد داد.

@ NonNull ComponentName adminComponentName

ComponentName مربوط به DeviceAdminReceiver مربوط به DPC فراخوانی‌کننده.

@ NonNull DpcMigrationRequest migrationRequest

درخواست DpcMigrationRequest حاوی توکن مهاجرت و شبکه‌های وای‌فای پیکربندی‌شده. موارد اخیر فقط در صورتی مورد نیاز هستند که تماس‌گیرنده، مالک پروفایل در یک دستگاه شخصی باشد و هرگونه شبکه‌ای را پیکربندی کرده باشد.

بازگشت‌ها
@ NonNull DpcMigrationAttempt

DpcMigrationException با وضعیت فعلی مهاجرت در صورت موفقیت.

پرتاب‌ها
java.lang.SecurityException

اگر تماس‌گیرنده مالک دستگاه یا مالک پروفایل نباشد.

kotlin.IllegalArgumentException

اگر توکن مهاجرت خالی باشد، یا اگر notificationServiceComponentName به یک کامپوننت معتبر که NotificationReceiverService که در مانیفست صادر شده است، گسترش می‌دهد، اشاره نکند، یا اگر adminComponentName یک ادمین فعال متعلق به پکیج فعلی نباشد.

com.google.android.managementapi.dpcmigration.DpcMigrationException

اگر فراخوانی مربوط به مهاجرت dpc ناموفق بود، پیام و زیرنوع استثنا حاوی جزئیات بیشتری در مورد شکست هستند.