Nonaktifkan sinyal data melalui USB

Android 12 telah menambahkan kemampuan bagi admin TI untuk menonaktifkan sinyal data melalui USB pada perangkat milik perusahaan (kecuali untuk fungsi pengisian daya). Untuk mendukung fungsi ini, OEM harus memperbarui USB HAL mereka dan memanfaatkan dukungan tambahan untuk API Pengelola Kebijakan Perangkat.

Manajer 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 memanggil API enableUsbDataSignal di UsbManager .
  • 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.
    • Hal ini diperlukan untuk memeriksa apakah jendela dialog transparansi kebijakan ditampilkan atau tidak. 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.
  • Contoh penerapan Manajer Kebijakan Perangkat

    Berikut ini adalah contoh cara mengimplementasikan Device Policy Manager.
    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();

    Pengaturan

    Pengguna dapat mengubah preferensi USB dan pengaturan tethering segera setelah USB tersambung. Untuk mengakses layar preferensi USB, lakukan hal berikut:

    1. Ketuk Pengaturan.
    2. Ketuk Perangkat yang terhubung.
    3. Ketuk USB.

    Catatan: Jika USB tidak terhubung, preferensi USB tidak dapat diubah dan tidak akan muncul di jendela Perangkat terhubung.

    Jika admin TI menonaktifkan sinyal data USB pada perangkat milik perusahaan, pengguna tidak dapat mengubah preferensi USB mereka. Sebaliknya, semua preferensi USB di Pengaturan dinonaktifkan sepenuhnya, yang akan membuat jendela dialog transparansi kebijakan.

    Catatan: Jika sinyal data USB dinonaktifkan, proses debug USB, konfigurasi USB default, dan preferensi perutean audio USB semuanya akan dinonaktifkan di opsi pengembang.