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

Android 12, BT yöneticilerinin şirkete ait cihazlarda (şarj işlevi hariç) USB üzerinden veri sinyalini devre dışı bırakmasına olanak tanır. Bu işlevi desteklemek için OEM'lerin USB HAL'lerini güncellemesi ve Device Policy Manager API'leri için eklenen desteği kullanması gerekir.

Cihaz Politika Yöneticisi

USB üzerinden sinyal göndermeyi devre dışı bırakmayı desteklemek için DevicePolicyManager'e aşağıdaki üç herkese açık API eklenmiştir:

  • setUsbDataSignalingEnabled(boolean enabled), UsbManager'de enableUsbDataSignal API'sini çağırarak USB veri sinyalini etkinleştiren veya devre dışı bırakan bir API'dir.
  • canUsbDataSignalingBeDisabled(), cihazda USB veri sinyalini etkinleştirmenin veya devre dışı bırakmanın desteklenip desteklenmediğini kontrol eden bir API'dir.
  • isUsbDataSignalingEnabled(), USB veri sinyalinin etkinleştirilip etkinleştirilmediğini kontrol eden bir API'dir.
    • Bu, politika şeffaflığı iletişim kutusunun gösterilip gösterilmediğini kontrol etmek için gereklidir. Sistem kullanıcıları, USB veri sinyalinin belirli bir kullanıcı için etkinleştirilip etkinleştirilmediğini kontrol etmek üzere sistem kullanıcısı tarafından çağrılabilecek gizli bir varyantı çağırabilir.
  • Cihaz Politika Yöneticisi uygulama örneği

    Aşağıda, Device Policy Manager'ın nasıl uygulanacağına dair 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 tercihini ve tethering ayarlarını, USB bağlanır bağlanmaz 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österilmez.

    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ışı olduğundan politika şeffaflığı iletişim kutusu penceresi oluşturulur.

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