أضاف نظام التشغيل Android 12 إمكانية إيقاف إرسال إشارات البيانات عبر منفذ USB على الأجهزة المملوكة للشركة (باستثناء وظيفة الشحن) من قِبل مشرفي تكنولوجيا المعلومات. ولإتاحة هذه الوظيفة، على الشركات المصنّعة للأجهزة الأصلية تعديل طبقة تجريد الأجهزة (HAL) الخاصة بمنفذ USB والاستفادة من إمكانية التوافق المضافة مع واجهات برمجة التطبيقات الخاصة بـ "إدارة سياسات الأجهزة".
مدير سياسات الجهاز
لإتاحة إيقاف إرسال الإشارات عبر USB، تم تضمين واجهات برمجة التطبيقات العامة الثلاث التالية في
DevicePolicyManager
:
-
setUsbDataSignalingEnabled(boolean enabled)
هي واجهة برمجة تطبيقات تتيح تفعيل أو إيقاف إشارات بيانات USB من خلال استدعاء واجهة برمجة التطبيقاتenableUsbDataSignal
فيUsbManager
. -
canUsbDataSignalingBeDisabled()
هي واجهة برمجة تطبيقات تتحقّق مما إذا كان الجهاز يتيح تفعيل أو إيقاف إرسال إشارات بيانات USB. -
isUsbDataSignalingEnabled()
هي واجهة برمجة تطبيقات تتحقّق ممّا إذا تم تفعيل إشارات بيانات USB.- هذا الحقل مطلوب للتحقّق مما إذا كان سيتم عرض نافذة مربّع حوار شفافية السياسة أم لا. يمكن لمستخدمي النظام استدعاء صيغة مخفية لواجهة برمجة التطبيقات هذه، ويمكن لمستخدم النظام استدعاؤها للتحقّق مما إذا تم تفعيل إشارات بيانات USB لمستخدم معيّن.
- انقر على الإعدادات.
- انقر على الأجهزة المتصلة.
- انقر على USB.
مثال على عملية إعداد "مدير سياسات الجهاز"
في ما يلي مثال على كيفية تنفيذ "مدير سياسات الأجهزة".class android.app.admin.DevicePolicyManager { /** * Called by device owner or profile owner of an organization-owned managed profile to * enable or disable USB data signaling for the device. When disabled, USB data connections * (except from charging functions) are prohibited. * * <p> This API is not supported on all devices, the caller should call * {@link #canUsbDataSignalingBeDisabled()} to check whether enabling or disabling USB data * signaling is supported on the device. * * @param enabled whether USB data signaling should be enabled or not. * @throws SecurityException if the caller is not a device owner or a profile owner on * an organization-owned managed profile. * @throws IllegalStateException if disabling USB data signaling is not supported or * if USB data signaling fails to be enabled/disabled. */ public void setUsbDataSignalingEnabled(boolean enabled);
/** * Called by device owner or profile owner of an organization-owned managed profile to return * whether USB data signaling is currently enabled by the admin. * * @return {@code true} if USB data signaling is enabled, {@code false} otherwise. */ public boolean isUsbDataSignalingEnabled();
/** * Called by the system to check whether USB data signaling is currently enabled for this user. * * @param userId which user to check for. * @return {@code true} if USB data signaling is enabled, {@code false} otherwise. * @hide */ public boolean isUsbDataSignalingEnabledForUser(@UserIdInt int userId);
/** * Returns whether enabling or disabling USB data signaling is supported on the device. * * @return {@code true} if the device supports enabling and disabling USB data signaling. */ public boolean canUsbDataSignalingBeDisabled();
الإعدادات
يمكن للمستخدمين تعديل إعدادات الربط وإعدادات USB المفضّلة فور توصيل USB. للوصول إلى شاشة إعدادات USB المفضّلة، اتّبِع الخطوات التالية:
ملاحظة: إذا لم يكن جهاز USB متصلاً، لا يمكن تعديل إعدادات USB المفضّلة ولن تظهر في نافذة "الأجهزة المتصلة".
إذا أوقف مشرف تكنولوجيا المعلومات إرسال إشارات بيانات USB على جهاز مملوك للشركة، لن يتمكّن المستخدم من تعديل إعدادات USB المفضّلة. بدلاً من ذلك، سيتم إيقاف جميع إعدادات USB المفضّلة في الإعدادات تمامًا، ما سيؤدي إلى إنشاء نافذة مربّع حوار لشفافية السياسة.
ملاحظة: في حال إيقاف إرسال إشارات بيانات USB، سيتم إيقاف تصحيح أخطاء USB وإعدادات USB التلقائية وإعدادات توجيه الصوت عبر USB في خيارات المطوّرين.