Android外部指纹USB在USB权限上总是返回false



我在Android 10&CCD_ 2。代码

intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false)

当我按下权限对话框上的"确定"按钮时,总是返回false。我有一个旧的android 5设备,它工作正常。

以下是他们的SDK(UsbDeviceDataExchangeImpl.java)中的代码,作为模块包含在Android Studio 中

public UsbDeviceDataExchangeImpl( Context ctx, Handler trg_handler )
{
context = ctx;
handler = trg_handler;

mDevManager = (UsbManager)ctx.getSystemService(Context.USB_SERVICE);
mPermissionIntent = PendingIntent.getBroadcast(ctx, 0, new Intent(ACTION_USB_PERMISSION), PendingIntent.FLAG_IMMUTABLE);

IntentFilter filter = new IntentFilter(ACTION_USB_PERMISSION);
context.registerReceiver(mUsbReceiver, filter);
}

private final BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent)
{
String action = intent.getAction();
if (ACTION_USB_PERMISSION.equals(action))
{
synchronized (mPermissionIntent)
{
UsbDevice device = (UsbDevice)intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
if (intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false)) 
{
if(device != null)
{
usb_ctx = OpenDevice(device);
}

handler.obtainMessage(MESSAGE_ALLOW_DEVICE).sendToTarget();
} 
else
{
handler.obtainMessage(MESSAGE_DENY_DEVICE).sendToTarget();
}

}

}
}
};

对于Android 10&用于外部usb设备的11

谢谢。

可能是相同的问题:AndroidStudio USB:EXTRA_PERMISSION_GRANTED返回false-始终为

更改PendingIntent。FLAG_IMUTABLE到PendingIntent。FLAG_MUTABLE对我的情况有所帮助。

在此处输入图像描述

Android演示将其设置为0,它也可以工作。

最新更新