addUsbDevicesForDefaultAccess

Tags
permission
usb
요약
특정 패키지에, 특정 USB 유저 권한을 승인함

addUsbDevicesForDefaultAccess

notion image
USB를 사용하고자 하는 앱의 패키지명과, 사용하고자 하는 USB 정보를 담은 UsbDeviceConfig 객체를 생성자 함수 인자로 전달하여 특정 USB를 원하는 앱에 유저 권한을 승인시킬 수 있다.
 
EnterpriseDeviceManager edm = EnterpriseDeviceManager.getInstance(context); ApplicationPolicy appPolicy = edm.getApplicationPolicy(); try { List <UsbDeviceConfig> devices = new ArrayList<UsbDeviceConfig>(); UsbDeviceConfig usbDeviceConfig = new UsbDeviceConfig(); usbDeviceConfig.productId = 20; usbDeviceConfig.vendorId = 20; devices.add(usbDeviceConfig); boolean result = appPolicy.addUsbDevicesForDefaultAccess(packageName, devices); } catch (SecurityException e) { Log.w(TAG, "SecurityException: " + e); }
 

UsbDeviceConfig

notion image
VID, PID를 생성자 인자로 전달해서 바로 생성할 수 있다.
 

USB의 VID,PID 확인하기

VID : VenderId PID : ProductId
 
진입 경로 : 이 Mac에 관하여시스템 리포트USB
notion image
notion image

결과

권한 추가 전

  • 권한 요청 팝업이 뜨며, 확인을 누르지 않으면 연결되지 않는다.
  • 문제는 바깥 영역을 터치했을 때도 권한 요청문이 닫히는 것이 가장 문제
  • 기기가 동작하지 않는다는 VOC가 끊이지 않음
  • 오죽하면 연결 승인을 눌러달라는 별도 페이지를 만들어서 대응 했었다.
    • notion image
 

권한 추가 코드 추가 후

  • 별도의 요청문 없이, USB가 연결되면 자동으로 권한이 승인되어 연결이 완료된다.