|
@@ -554,7 +554,14 @@ public class HIDDeviceManager {
|
|
|
if (usbDevice != null && !mUsbManager.hasPermission(usbDevice)) {
|
|
|
HIDDeviceOpenPending(deviceID);
|
|
|
try {
|
|
|
- mUsbManager.requestPermission(usbDevice, PendingIntent.getBroadcast(mContext, 0, new Intent(HIDDeviceManager.ACTION_USB_PERMISSION), 0));
|
|
|
+ final int FLAG_MUTABLE = 0x02000000; // PendingIntent.FLAG_MUTABLE, but don't require SDK 31
|
|
|
+ int flags;
|
|
|
+ if (Build.VERSION.SDK_INT >= 31) {
|
|
|
+ flags = FLAG_MUTABLE;
|
|
|
+ } else {
|
|
|
+ flags = 0;
|
|
|
+ }
|
|
|
+ mUsbManager.requestPermission(usbDevice, PendingIntent.getBroadcast(mContext, 0, new Intent(HIDDeviceManager.ACTION_USB_PERMISSION), flags));
|
|
|
} catch (Exception e) {
|
|
|
Log.v(TAG, "Couldn't request permission for USB device " + usbDevice);
|
|
|
HIDDeviceOpenResult(deviceID, false);
|