Deaktivieren Sie die Datensignalisierung über USB

Android 12 bietet IT-Administratoren die Möglichkeit, die Datensignalisierung über USB auf unternehmenseigenen Geräten zu deaktivieren (mit Ausnahme der Ladefunktion). Um diese Funktionalität zu unterstützen, müssen OEMs ihr USB-HAL aktualisieren und die zusätzliche Unterstützung für Device Policy Manager-APIs nutzen.

Geräterichtlinien-Manager

Um die Deaktivierung der Signalisierung über USB zu unterstützen, sind die folgenden drei öffentlichen APIs in DevicePolicyManager enthalten:

  • setUsbDataSignalingEnabled(boolean enabled) ist eine API, die die USB-Datensignalisierung durch Aufrufen der API enableUsbDataSignal in UsbManager aktiviert oder deaktiviert.
  • canUsbDataSignalingBeDisabled() ist eine API, die prüft, ob das Aktivieren oder Deaktivieren der USB-Datensignalisierung auf dem Gerät unterstützt wird.
  • isUsbDataSignalingEnabled() ist eine API, die prüft, ob die USB-Datensignalisierung aktiviert wurde.
    • Dies ist erforderlich, um zu prüfen, ob ein Dialogfenster zur Richtlinientransparenz angezeigt wird. Systembenutzer können eine versteckte Variante für diese bestimmte API aufrufen, die vom Systembenutzer aufgerufen werden kann, um zu überprüfen, ob die USB-Datensignalisierung für einen bestimmten Benutzer aktiviert wurde.
  • Beispiel für die Implementierung des Device Policy Managers

    Im Folgenden finden Sie ein Beispiel für die Implementierung des Device Policy Managers.
    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();

    Einstellungen

    Benutzer können die USB-Präferenz- und Tethering-Einstellungen ändern, sobald USB angeschlossen ist. Um auf den Bildschirm „USB-Einstellungen“ zuzugreifen, gehen Sie wie folgt vor:

    1. Tippen Sie auf Einstellungen.
    2. Tippen Sie auf Verbundene Geräte.
    3. Tippen Sie auf USB.

    Hinweis: Wenn kein USB angeschlossen ist, können die USB-Einstellungen nicht geändert werden und werden nicht im Fenster „Verbundene Geräte“ angezeigt.

    Wenn ein IT-Administrator die USB-Datensignalisierung auf einem unternehmenseigenen Gerät deaktiviert, kann der Benutzer seine USB-Einstellungen nicht ändern. Stattdessen werden alle USB-Einstellungen in den Einstellungen vollständig deaktiviert, wodurch ein Dialogfenster zur Richtlinientransparenz erstellt wird.

    Hinweis: Wenn die USB-Datensignalisierung deaktiviert ist, sind das USB-Debugging, die Standard-USB-Konfigurationen und die USB-Audio-Routing-Einstellungen in den Entwickleroptionen deaktiviert.