پیاده سازی مدیریت دستگاه

این صفحه دستورالعمل هایی را برای سازندگان دستگاه برای فعال کردن مدیریت دستگاه در Android توضیح می دهد. برای پشتیبانی از مدیریت دستگاه، دستگاه‌ها باید تمام الزامات سازگاری نرم‌افزاری که در بخش 3.9 تعریف شده‌اند را برآورده کنند. مدیریت دستگاه در سند تعریف سازگاری Android (CDD) . دستورالعمل های پیاده سازی ارائه شده در اینجا جامع نیستند و تنها به عنوان نقطه شروعی برای پیاده سازی مدیریت دستگاه Android عمل می کنند.

مدیریت دستگاه را فعال کنید

برای فعال کردن مدیریت دستگاه در اندروید، این ویژگی ها را فعال کنید:

  • android.software.device_admin
  • android.software.managed_users

برای تأیید اینکه دستگاهی از مدیریت دستگاه پشتیبانی می‌کند، دستور adb زیر را روی دستگاه اجرا کنید و بررسی کنید که این ویژگی‌ها وجود دارند: adb shell pm list features .

الزامات راه اندازی

دستگاه‌هایی که تدارک مالک دستگاه یا مالک نمایه را اجرا می‌کنند باید افشای مناسبی را در طول راه‌اندازی به کاربران نهایی ارائه دهند (تجربه خارج از جعبه یا تنظیم نمایه کاری). AOSP یک پیاده سازی مرجع ارائه می دهد. تدارک مدیریت شده جریان رابط کاربری چارچوب Android است که در هنگام تنظیم کامل دستگاه مدیریت شده یا نمایه کاری برای اطمینان از اینکه کاربران دستگاه به اندازه کافی از پیامدهای تنظیم مالک یا نمایه مدیریت شده دستگاه در دستگاه مطلع هستند، فراخوانی می شود. تدارک مدیریت شده فعالیت های زیر را انجام می دهد یا آنها را در حین تهیه به یک دارنده نقش مدیریت خط مشی دستگاه واگذار می کند:

  • دستگاه را رمزگذاری می کند (اگر رمزگذاری فعال باشد).
  • یک کاربر مدیریت شده ایجاد می کند.
  • برنامه های اختیاری را غیرفعال می کند.
  • برنامه Enterprise Mobility Management (EMM) Device Policy Controller (DPC) را به عنوان مالک دستگاه یا مالک نمایه تنظیم می کند.

به نوبه خود، برنامه DPC فعالیت های زیر را انجام می دهد:

  • حساب های کاربری را اضافه می کند.
  • انطباق با خط مشی دستگاه را اجرا می کند.
  • هر برنامه سیستم اضافی را فعال می کند.

پس از تکمیل آماده‌سازی، کنترل‌کننده هدف ADMIN_POLICY_COMPLIANCE برنامه DPC در کاربر دستگاه کاملاً مدیریت‌شده (برای تأمین مالک دستگاه ) یا در کاربر نمایه کاری (برای تأمین مالک نمایه ) اجرا می‌شود. سپس برنامه DPC حساب‌ها را اضافه می‌کند و خط‌مشی‌ها را اجرا می‌کند.

الزامات لانچر

برای پشتیبانی از مدیریت دستگاه، راه‌انداز باید از برنامه‌های نشان با نشان‌های نماد کار (در AOSP برای نمایش برنامه‌های مدیریت‌شده ارائه شده) پشتیبانی کند. سایر عناصر رابط کاربری در دستگاه‌ها یا نمایه‌های مدیریت‌شده، مانند اعلان‌ها، باید از دارایی‌های نشان کار استفاده کنند. Launcher3 در AOSP قبلاً از این ویژگی های نشان پشتیبانی می کند.

برنامه های کاری پیش فرض

به‌طور پیش‌فرض، تنها برنامه‌های ضروری برای عملکرد صحیح یک دستگاه مدیریت‌شده یا نمایه کاری به عنوان بخشی از تأمین‌کننده شرکت Android فعال می‌شوند. سازندگان دستگاه می توانند لیستی از برنامه های پیش فرض را با استفاده از این فایل های XML مشخص کنند:

  • vendor_required_apps_managed_profile.xml
  • vendor_required_apps_managed_device.xml
  • vendor_required_apps_managed_user.xml

پس از آماده‌سازی دستگاه، سرپرستان فناوری اطلاعات می‌توانند از کنسول EMM یا Google Play مدیریت‌شده برای ارائه برنامه‌های اضافی که توسط یک سازمان ضروری است استفاده کنند.

در هر دو حالت مالک دستگاه (دستگاه کاملاً مدیریت شده) و مالک نمایه (نمایه کاری):

  • برنامه‌های بدون آیکون راه‌انداز اجزای حیاتی سیستم محسوب می‌شوند و به‌طور خودکار توسط اندروید فعال می‌شوند.
  • برنامه‌های دارای نمادهای راه‌انداز را می‌توان به‌طور پیش‌فرض در حین تهیه دستگاه با فهرست کردن نام بسته‌های آنها در vendor_required_apps_managed_[device|profile|user].xml files فعال کرد.
  • همه برنامه‌های دیگر به‌طور خودکار در حین تهیه دستگاه غیرفعال می‌شوند.

پیاده سازی مالک دستگاه در دستگاه های پیکربندی شده با کاربر سیستم هدلس

Android 14 (سطح API 34) پیکربندی حالت کاربر سیستم بدون سر را معرفی می کند که در آن کاربر سیستم یک کاربر پس زمینه است و کاربران پیش زمینه کاربران ثانویه هستند. از آنجایی که عملکرد مالک دستگاه به طور سنتی به حضور کاربر سیستم نیز در پیش‌زمینه متکی است، پیکربندی کاربر سیستم بدون سر، چالش‌های منحصربه‌فردی را برای دستگاه‌های کاملاً مدیریت‌شده به همراه دارد (تامین مالک دستگاه) .

حالت کاربر سیستم هدلس

شکل 1. حالت کاربر سیستم هدلس.

در یک دستگاه حالت کاربر سیستم بدون هد، برنامه کنترل‌کننده خط‌مشی دستگاه (DPC) تنها در صورتی می‌تواند به عنوان مالک دستگاه تنظیم شود که از حالت وابسته ( HEADLESS_DEVICE_OWNER_MODE_AFFILIATED ) پشتیبانی کند. سیستم با فراخوانی getHeadlessDeviceOwnerMode() بررسی می‌کند که آیا حالت وابسته پشتیبانی می‌شود. بسته به اینکه آیا برنامه DPC از تأمین حالت وابسته پشتیبانی می کند، تأمین دستگاه مطابق با آن انجام می شود.