addUsbDevicesForDefaultAccess
- 공식 문서 : addUsbDevicesForDefaultAccess

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
- 공식 문서 : UsbDeviceConfig

VID
, PID
를 생성자 인자로 전달해서 바로 생성할 수 있다.USB의 VID,PID 확인하기
VID
:VenderId
PID
:ProductId
진입 경로 :이 Mac에 관하여
→시스템 리포트
→USB


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

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