Android 12 permet aux administrateurs informatiques de désactiver la signalisation des 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 ajoutée pour les API Device Policy Manager.
Gestionnaire de règles relatives aux appareils
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 des données USB en appelant l'APIenableUsbDataSignal
dansUsbManager
.canUsbDataSignalingBeDisabled()
est une API qui vérifie si l'activation ou la désactivation de la signalisation des données USB est prise en charge sur l'appareil.isUsbDataSignalingEnabled()
est une API qui vérifie si la signalisation des données USB a été activée.- Cette méthode est requise pour vérifier si une boîte de dialogue de transparence des règles s'affiche ou non. Les utilisateurs du système peuvent appeler une variante masquée pour cette API spécifique, qui peut être appelée par l'utilisateur du système pour vérifier si la signalisation des données USB a été activée pour un utilisateur spécifique.
- Appuyez sur Paramètres.
- Appuyez sur Appareils connectés.
- Appuyez sur USB.
Exemple d'implémentation du gestionnaire de règles de l'appareil
Vous trouverez ci-dessous un exemple d'implémentation du gestionnaire de règles relatives aux appareils.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 que l'USB est connecté. Pour accéder à l'écran des préférences USB, procédez comme suit :
Remarque : Si l'USB n'est pas connecté, les préférences USB ne peuvent pas être modifiées et n'apparaissent pas dans la fenêtre "Appareils connectés".
Si un administrateur informatique désactive la signalisation des données USB sur un appareil appartenant à l'entreprise, l'utilisateur ne peut pas modifier ses préférences USB. Au lieu de cela, toutes les préférences USB dans 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.