تعطيل إشارات البيانات عبر USB

أضاف Android 12 قدرة مسؤولي تكنولوجيا المعلومات على تعطيل إشارات البيانات عبر USB على الأجهزة المملوكة للشركة (باستثناء وظيفة الشحن). لدعم هذه الوظيفة، يجب على مصنعي المعدات الأصلية تحديث USB HAL الخاص بهم والاستفادة من الدعم الإضافي لواجهات برمجة تطبيقات إدارة سياسة الجهاز.

مدير سياسة الجهاز

لدعم تعطيل الإشارة عبر USB، تم تضمين واجهات برمجة التطبيقات العامة الثلاثة التالية في DevicePolicyManager :

  • setUsbDataSignalingEnabled(boolean enabled) عبارة عن واجهة برمجة تطبيقات تعمل على تمكين أو تعطيل إشارات بيانات USB عن طريق استدعاء واجهة برمجة التطبيقات enableUsbDataSignal في UsbManager .
  • canUsbDataSignalingBeDisabled() عبارة عن واجهة برمجة تطبيقات تتحقق مما إذا كان تمكين أو تعطيل إشارات بيانات USB مدعومًا على الجهاز.
  • isUsbDataSignalingEnabled() عبارة عن واجهة برمجة تطبيقات تتحقق من تمكين إشارة بيانات 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، قم بما يلي:

    1. اضغط على الإعدادات.
    2. اضغط على الأجهزة المتصلة.
    3. اضغط على يو اس بي.

    ملاحظة: إذا لم يكن USB متصلاً، فلا يمكن تعديل تفضيلات USB ولن تظهر في نافذة الأجهزة المتصلة.

    إذا قام مسؤول تكنولوجيا المعلومات بتعطيل إشارات بيانات USB على جهاز مملوك للشركة، فلن يتمكن المستخدم من تعديل تفضيلات USB الخاصة به. وبدلاً من ذلك، يتم تعطيل جميع تفضيلات USB في الإعدادات تمامًا، مما سيؤدي إلى إنشاء نافذة حوار شفافية السياسة.

    ملاحظة: إذا تم تعطيل إشارة بيانات USB، فسيتم تعطيل تصحيح أخطاء USB وتكوينات USB الافتراضية وتفضيلات توجيه الصوت عبر USB في خيارات المطور.