UsbManager在28版本下的改动

mac2024-04-20  3

用UsbManager来识别外置的camera设备,授权打开的功能。

授权功能

//申请USB连接权限 private synchronized void requestPermission(UsbDevice device) { //申请USB连接权限 mPermissionIntent = PendingIntent.getBroadcast(appContext, 0, new Intent(ACTION_USB_PERMISSION), PendingIntent.FLAG_UPDATE_CURRENT); mUsbManager.requestPermission(device, mPermissionIntent); }

之前一直使用的是SDK27的版本,授权都是没有问题,弹出授权框授权,当我兼容了androidx升级到了28之后,授权框就一直不弹出。

 

查看日志,发现在授权的时候,会有一句这样的打印

UsbUserSettingsManager: Camera permission required for USB video class devices

 

原因是应该28之后,需要动态申请camera权限才可以授权弹框。

解决办法,要不版本到27及以下,要么先授权camera。

最新回复(0)