USB üzerinden veri sinyalini devre dışı bırakın

Android 12, BT yöneticilerine, şirkete ait cihazlarda (şarj işlevi hariç) USB üzerinden veri sinyalleşmesini devre dışı bırakma olanağı ekledi. Bu işlevselliği desteklemek için OEM'lerin USB HAL'lerini güncellemeleri ve Device Policy Manager API'leri için eklenen destekten yararlanmaları gerekir.

Cihaz Politikası Yöneticisi

USB üzerinden sinyallemenin devre dışı bırakılmasını desteklemek için DevicePolicyManager aşağıdaki üç genel API dahildir:

  • setUsbDataSignalingEnabled(boolean enabled) UsbManager enableUsbDataSignal API'yi çağırarak USB veri sinyalini etkinleştiren veya devre dışı bırakan bir API'dir.
  • canUsbDataSignalingBeDisabled() USB veri sinyalinin etkinleştirilmesinin veya devre dışı bırakılmasının cihazda desteklenip desteklenmediğini kontrol eden bir API'dir.
  • isUsbDataSignalingEnabled() USB veri sinyalinin etkinleştirilip etkinleştirilmediğini kontrol eden bir API'dir.
    • Bu, bir politika şeffaflığı iletişim penceresinin gösterilip gösterilmediğini kontrol etmek için gereklidir. Sistem kullanıcıları, belirli bir kullanıcı için USB veri sinyalinin etkinleştirilip etkinleştirilmediğini kontrol etmek amacıyla sistem kullanıcısı tarafından çağrılabilecek bu özel API için gizli bir değişkeni çağırabilir.
  • Device Policy Manager uygulama örneği

    Aşağıda Device Policy Manager'ın nasıl uygulanacağına ilişkin bir örnek verilmiştir.
    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();

    Ayarlar

    Kullanıcılar, USB bağlanır bağlanmaz USB tercihini ve bağlantı ayarlarını değiştirebilir. USB tercihleri ​​ekranına erişmek için aşağıdakileri yapın:

    1. Ayarlar'a dokunun.
    2. Bağlı cihazlar'a dokunun.
    3. USB'ye dokunun.

    Not: USB bağlı değilse USB tercihleri ​​değiştirilemez ve Bağlı cihazlar penceresinde görünmez.

    Bir BT yöneticisi, şirkete ait bir cihazda USB veri sinyalini devre dışı bırakırsa kullanıcı, USB tercihlerini değiştiremez. Bunun yerine, Ayarlar'daki tüm USB tercihleri ​​tamamen devre dışı bırakılır ve bu, bir politika şeffaflığı iletişim penceresi oluşturur.

    Not: USB veri sinyali devre dışı bırakılırsa, geliştirici seçeneklerinde USB hata ayıklama, varsayılan USB yapılandırmaları ve USB ses yönlendirme tercihlerinin tümü devre dışı bırakılacaktır.