השבתת העברת נתונים ב-USB

ב-Android 12 נוספה האפשרות לאדמינים ב-IT להשבית את התכונה 'אותות נתונים' באמצעות USB במכשירים בבעלות החברה (מלבד פונקציית הטעינה). כדי לתמוך פונקציונליות, יצרני ציוד מקורי (OEM) צריכים לעדכן את ממשק ה-USB HAL שלהם ולהשתמש בתמיכה הנוספת במדיניות Device Policy ממשקי API למנהלים.

מנהל מדיניות המכשיר

כדי לתמוך בהשבתה של איתותים דרך USB, שלושת ממשקי ה-API הציבוריים הבאים כלולים ב-DevicePolicyManager:

  • setUsbDataSignalingEnabled(boolean enabled) הוא ממשק API שמפעיל או משבית את איתות הנתונים ב-USB באמצעות קריאה לממשק ה-API enableUsbDataSignal ב-UsbManager.
  • canUsbDataSignalingBeDisabled() הוא ממשק API שבודק אם יש תמיכה במכשיר בהפעלה או בהשבתה של איתות נתונים ב-USB.
  • isUsbDataSignalingEnabled() הוא ממשק API שבודק אם איתות הנתונים ב-USB הופעל.
    • הפעולה הזו נדרשת כדי לבדוק אם תיבת דו-שיח של שקיפות המדיניות החלון מוצג. משתמשי המערכת יכולים להפעיל גרסה מוסתרת של ממשק ה-API הזה, כדי לבדוק אם איתות הנתונים ב-USB הופעל למשתמש מסוים.
  • דוגמה להטמעה של מנהל מדיניות המכשיר

    הדוגמה הבאה היא איך להטמיע את הכלי Device Policy Manager.
    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 לא מחובר, אי אפשר לשנות את ההעדפות שלו והן לא יופיעו בחלון 'מכשירים מחוברים'.

    אם אדמין ב-IT משבית את איתות הנתונים בחיבור USB במכשיר בבעלות הארגון, המשתמשים לא יכולים לשנות את העדפות ה-USB שלהם. במקום זאת, כל העדפות ה-USB ההגדרות מושבתות לגמרי, ולכן ייווצר מדיניות חלון של תיבת הדו-שיח לשקיפות.

    הערה: אם האותות של נתוני ה-USB מושבתים, האפשרות 'ניפוי באגים ב-USB' מופעלת כברירת מחדל הגדרות ה-USB וההעדפות לניתוב אודיו ב-USB יושבתו אפשרויות למפתחים.