Désactiver le signal de données via USB

Android 12 permet aux administrateurs informatiques de désactiver la signalisation de données via USB sur les appareils appartenant à l'entreprise (à l'exception de la fonction de recharge). Pour prendre en charge cette fonctionnalité, les OEM doivent mettre à jour leur HAL USB et utiliser la prise en charge supplémentaire des API du gestionnaire des règles relatives aux appareils.

Gestionnaire de règles

Pour permettre la désactivation de la signalisation via USB, les trois API publiques suivantes sont incluses dans DevicePolicyManager:

  • setUsbDataSignalingEnabled(boolean enabled) est une API qui active ou désactive la signalisation de données USB en appelant l'API enableUsbDataSignal dans UsbManager.
  • canUsbDataSignalingBeDisabled() est une API qui vérifie si l'activation ou la désactivation de la signalisation de données USB est prise en charge sur l'appareil.
  • isUsbDataSignalingEnabled() est une API qui vérifie si la signalisation de données USB a été activée.
    • Cette étape est nécessaire pour vérifier si une boîte de dialogue de transparence des règles s'affiche ou non. Les utilisateurs système peuvent appeler une variante masquée de cette API particulière, qui peut être appelée par l'utilisateur système pour vérifier si la signalisation de données USB a été activée pour un utilisateur particulier.
  • Exemple d'implémentation du gestionnaire de règles de l'appareil

    Vous trouverez ci-dessous un exemple de mise en œuvre du Gestionnaire de règles d'appareil.
    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();

    Paramètres

    Les utilisateurs peuvent modifier les préférences USB et les paramètres de partage de connexion dès qu'un câble USB est connecté. Pour accéder à l'écran des préférences USB, procédez comme suit:

    1. Appuyez sur Paramètres.
    2. Appuyez sur Appareils connectés.
    3. Appuyez sur USB.

    Remarque:Si l'USB n'est pas connecté, les préférences USB ne peuvent pas être modifiées et ne s'affichent pas dans la fenêtre "Appareils connectés".

    Si un administrateur informatique désactive la signalisation des données USB sur un appareil détenu par l'entreprise, l'utilisateur ne peut pas modifier ses préférences USB. À la place, toutes les préférences USB dans Settings (Paramètres) sont totalement désactivées, ce qui crée une boîte de dialogue de transparence des règles.

    Remarque:Si la signalisation des données USB est désactivée, le débogage USB, les configurations USB par défaut et les préférences de routage audio USB seront tous désactivés dans les options pour les développeurs.