device.getInterfaceCount 为什么是0


  做android 开发,需要和一些硬件打交道,但是android弹出 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;

然后就完事了,android启动不会出现授权框和device.getInterfaceCount() 为0的情况了




版权声明:本文为loverd1原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。