Android 12 telah menambahkan kemampuan bagi admin IT untuk menonaktifkan pemberian sinyal data melalui USB di perangkat milik perusahaan (kecuali untuk fungsi pengisian daya). Untuk mendukung hal ini, fungsi lain, OEM harus mengupdate USB HAL mereka dan menggunakan dukungan tambahan untuk Kebijakan Perangkat API Pengelola.
Pengelola Kebijakan Perangkat
Untuk mendukung penonaktifan sinyal melalui USB, tiga API publik berikut disertakan dalam
DevicePolicyManager
:
setUsbDataSignalingEnabled(boolean enabled)
adalah API yang mengaktifkan atau menonaktifkan sinyal data USB dengan memanggilenableUsbDataSignal
API diUsbManager
.canUsbDataSignalingBeDisabled()
adalah API yang memeriksa apakah mengaktifkan atau menonaktifkan sinyal data USB didukung pada perangkat.isUsbDataSignalingEnabled()
adalah API yang memeriksa apakah sinyal data USB telah diaktifkan.- Pemeriksaan ini diperlukan untuk memeriksa apakah dialog transparansi kebijakan jendela ditampilkan. Pengguna sistem dapat memanggil varian tersembunyi untuk API khusus ini yang dapat dipanggil oleh pengguna sistem untuk memeriksa apakah sinyal data USB telah diaktifkan untuk pengguna tertentu.
- Ketuk Setelan.
- Ketuk Perangkat terhubung.
- Ketuk USB.
Contoh penerapan Pengelola Kebijakan Perangkat
Berikut adalah contoh cara menerapkan Pengelola Kebijakan Perangkat.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();
Setelan
Pengguna dapat mengubah preferensi USB dan setelan tethering segera setelah USB terhubung. Untuk mengakses layar preferensi USB, lakukan hal berikut:
Catatan: Jika USB tidak terhubung, preferensi USB tidak dapat diubah dan tidak akan muncul di jendela Perangkat terhubung.
Jika admin IT menonaktifkan sinyal data USB di perangkat milik perusahaan, pengguna tidak dapat mengubah preferensi USB mereka. Sebagai gantinya, semua preferensi USB di Setelan dinonaktifkan sepenuhnya, yang akan membuat jendela dialog transparansi kebijakan.
Catatan: Jika sinyal data USB dinonaktifkan, proses debug USB, konfigurasi USB default, dan preferensi pemilihan rute audio USB akan dinonaktifkan di opsi developer.