DONSEE东信智能 - 中国领先的身份证社保卡智能终端应用服务商

eastcoms@qq.com
400-6722-705
首页 > 服务支持专区 > 产品支持 > 常见问题

身份证阅读器Android开机后无法识别及USB弹窗请求权限问题解决方案

来源:www.eastcoms.com   标签:Android 开机 USB权限   发布时间: 2020-6-30 15:38:59

有部分安卓主板商主板没有给USB权限或者没有延时供电,会导致身份证阅读器在Android系统开机后无法识别,需要重新拔插才能使用、USB弹窗请求访问USB设备,以及device.getInterfaceCount() 为0的问题。

注意:以上问题仅限USB接口读卡器会出现,串口设备(TTL和RS232)不会有这种问题。

安卓弹窗请求访问USB设备

可以按以下修改步骤,要求安卓主板提供商最源码做修改:

步骤一:

修改:frameworks\base\packages\SystemUI\src\com\android\systemui\usb\UsbPermissionActivity.java

注释:

//setupAlert();

添加

mPermissionGranted = true;  

finish();


步骤二:

修改:frameworks/base/services/usb/java/com/android/server/usb/UsbSettingsManager.java

    public boolean hasPermission(UsbDevice device) {

        synchronized (mLock) {

            return true;

        }

    }

    public boolean hasPermission(UsbAccessory accessory) {

        synchronized (mLock) {

            return true;

        }

    }


步骤三:

修改:rameworks/base/services/usb/java/com/android/server/usb/UsbHostManager.java

endUsbDeviceAdded()方法加入以下代码

mNewDevice = null;

mNewConfigurations = null;

mNewInterfaces = null;

mNewEndpoints = null;

mNewConfiguration = null;

mNewInterface = null;


按以上1-3步骤修改安卓主板底层源码,就不会出现开机后无法识别、USB弹窗请求权限,以及device.getInterfaceCount() 为0的问题。


 

 
QQ在线咨询