Android 12 เพิ่มความสามารถในการปิดใช้การส่งสัญญาณข้อมูลผ่าน USB ในอุปกรณ์ของบริษัท (ยกเว้นฟังก์ชันการชาร์จ) ให้แก่ผู้ดูแลระบบไอที OEM ต้องอัปเดต USB HAL และใช้การสนับสนุนเพิ่มเติมสำหรับ API เครื่องมือจัดการนโยบายด้านอุปกรณ์เพื่อรองรับฟังก์ชันการทำงานนี้
ตัวจัดการนโยบายด้านอุปกรณ์
DevicePolicyManager
มี API สาธารณะ 3 รายการต่อไปนี้เพื่อรองรับการปิดใช้การส่งสัญญาณผ่าน USB
setUsbDataSignalingEnabled(boolean enabled)
เป็น API ที่เปิดหรือปิดใช้การส่งสัญญาณข้อมูล USB โดยการเรียกใช้enableUsbDataSignal
API ในUsbManager
canUsbDataSignalingBeDisabled()
คือ API ที่ตรวจสอบว่าอุปกรณ์รองรับการเปิดหรือปิดใช้การส่งสัญญาณข้อมูล USB หรือไม่isUsbDataSignalingEnabled()
คือ API ที่ตรวจสอบว่าได้เปิดใช้การส่งสัญญาณข้อมูล USB หรือไม่- ขั้นตอนนี้จําเป็นต่อการตรวจสอบว่าระบบจะแสดงกล่องโต้ตอบความโปร่งใสของนโยบายหรือไม่ ผู้ใช้ระบบสามารถเรียกตัวแปรที่ซ่อนอยู่ของ API นี้ ซึ่งผู้ใช้ระบบสามารถเรียกใช้เพื่อตรวจสอบว่าเปิดใช้การส่งสัญญาณข้อมูล USB สำหรับผู้ใช้รายใดรายหนึ่งหรือไม่
ตัวอย่างการติดตั้งใช้งานตัวจัดการนโยบายด้านอุปกรณ์
ตัวอย่างวิธีใช้ตัวจัดการนโยบายด้านอุปกรณ์มีดังนี้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();
การตั้งค่า
ผู้ใช้จะแก้ไขค่ากำหนด USB และการตั้งค่าการต่อฮอตสปอตจากมือถือได้ทันทีที่เชื่อมต่อ USB หากต้องการเข้าถึงหน้าจอค่ากำหนด USB ให้ทำดังนี้
- แตะการตั้งค่า
- แตะอุปกรณ์ที่เชื่อมต่อ
- แตะ USB
หมายเหตุ: หากไม่ได้เชื่อมต่อ USB คุณจะแก้ไขค่ากำหนด USB ไม่ได้และค่ากำหนดดังกล่าวจะไม่ปรากฏในหน้าต่างอุปกรณ์ที่เชื่อมต่อ
หากผู้ดูแลระบบไอทีปิดใช้การส่งสัญญาณข้อมูล USB ในอุปกรณ์ของบริษัท ผู้ใช้จะแก้ไขค่ากำหนด USB ไม่ได้ แต่ระบบจะปิดใช้ค่ากำหนด USB ทั้งหมดในการตั้งค่าแทน ซึ่งจะสร้างหน้าต่างกล่องโต้ตอบความโปร่งใสของนโยบาย
หมายเหตุ: หากปิดใช้การส่งสัญญาณข้อมูล USB ระบบจะปิดใช้การแก้ไขข้อบกพร่อง USB, การกําหนดค่า USB เริ่มต้น และค่ากําหนดการกำหนดเส้นทางเสียงผ่าน USB ทั้งหมดในตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์