Android 12, BT yöneticilerinin şirkete ait cihazlarda USB üzerinden veri sinyalini devre dışı bırakmasına (şarj işlevi hariç) olanak tanır. Bu işlevin desteklenmesi için OEM'lerin USB HAL'lerini güncellemesi ve Device Policy Manager API'leri için eklenen desteği kullanması gerekir.
Cihaz Politikası Yöneticisi
USB üzerinden sinyal göndermenin devre dışı bırakılmasını desteklemek için DevicePolicyManager
'da aşağıdaki üç herkese açık API yer alır:
setUsbDataSignalingEnabled(boolean enabled)
,UsbManager
içindeenableUsbDataSignal
API'si çağrılarak USB veri sinyalini etkinleştiren veya devre dışı bırakan bir API'dir.canUsbDataSignalingBeDisabled()
, USB veri sinyallerinin 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, politika şeffaflığı iletişim kutusunun gösterilip gösterilmediğini kontrol etmek için gereklidir. Sistem kullanıcıları, bu API için gizli bir varyantı çağırabilir. Bu varyant, sistem kullanıcısı tarafından belirli bir kullanıcı için USB veri sinyalinin etkinleştirilip etkinleştirilmediğini kontrol etmek amacıyla çağrılabilir.
- Ayarlar'a dokunun.
- Bağlı cihazlar'a dokunun.
- USB'ye dokunun.
Device Policy Manager uygulama örneği
Aşağıda, Cihaz Politikası Yöneticisi'nin 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 bağlandığı anda USB tercihini ve tethering ayarlarını değiştirebilir. USB tercihler ekranına erişmek için aşağıdakileri yapın:
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. Bu durumda, politika şeffaflığı iletişim 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 tercihleri geliştirici seçeneklerinde devre dışı bırakılır.