Disabilita la segnalazione dei dati tramite USB

Android 12 ha aggiunto la possibilità per gli amministratori IT di disabilitare la segnalazione dei dati tramite USB sui dispositivi di proprietà aziendale (ad eccezione della funzione di ricarica). Per supportare questa funzionalità, gli OEM devono aggiornare il proprio HAL USB e utilizzare il supporto aggiuntivo per le API di Device Policy Manager.

Gestione criteri dispositivo

Per supportare la disabilitazione della segnalazione tramite USB, in DevicePolicyManager sono incluse le tre API pubbliche seguenti:

  • setUsbDataSignalingEnabled(boolean enabled) è un'API che abilita o disabilita la segnalazione dei dati USB chiamando l'API enableUsbDataSignal in UsbManager .
  • canUsbDataSignalingBeDisabled() è un'API che controlla se l'abilitazione o la disabilitazione della segnalazione dei dati USB è supportata sul dispositivo.
  • isUsbDataSignalingEnabled() è un'API che controlla se la segnalazione dei dati USB è stata abilitata.
    • Ciò è necessario per verificare se viene visualizzata o meno una finestra di dialogo sulla trasparenza della politica. Gli utenti del sistema possono richiamare una variante nascosta per questa particolare API che può essere richiamata dall'utente del sistema per verificare se la segnalazione dei dati USB è stata abilitata per un particolare utente.
  • Esempio di implementazione di Device Policy Manager

    Di seguito è riportato un esempio di come implementare 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();

    Impostazioni

    Gli utenti possono modificare le preferenze USB e le impostazioni di tethering non appena l'USB viene collegato. Per accedere alla schermata delle preferenze USB, procedere come segue:

    1. Tocca Impostazioni.
    2. Tocca Dispositivi connessi.
    3. Tocca USB.

    Nota: se l'USB non è collegato, le preferenze USB non possono essere modificate e non verranno visualizzate nella finestra Dispositivi collegati.

    Se un amministratore IT disabilita la segnalazione dei dati USB su un dispositivo di proprietà aziendale, l'utente non potrà modificare le proprie preferenze USB. Invece, tutte le preferenze USB in Impostazioni sono completamente disabilitate, il che creerà una finestra di dialogo sulla trasparenza delle policy.

    Nota: se la segnalazione dei dati USB è disabilitata, il debug USB, le configurazioni USB predefinite e le preferenze di routing audio USB saranno tutte disabilitate nelle opzioni sviluppatore.