美文网首页Android调试
使用android USB API 无法获取USB设备ID的方法

使用android USB API 无法获取USB设备ID的方法

作者: lemonCode | 来源:发表于2017-07-26 09:12 被阅读195次

使用android USB API 无法获取USB设备ID的方法

    UsbManager manager = (UsbManager) m_context.getSystemService(Context.USB_SERVICE);  
    HashMap<String, UsbDevice> deviceList = manager.getDeviceList();  
    Iterator<UsbDevice> deviceIterator = deviceList.values().iterator();  
      
    while (deviceIterator.hasNext())  
    {  
        UsbDevice device = deviceIterator.next();  
       Log.e(TAG,device.getProductId()+");
    } 

1. 上述方法无法获取到USB设备的ID,解决方法如下:

  1. 创建 android.hardware.usb.host.xml,内容:

     <permissions>  
     <feature name="android.hardware.usb.host"/>  
     </permissions>  
    

    将该文件push到/system/etc/permissions/目录下

  2. 在/system/etc/permissions/下的handheld_core_hardware.xml或者tablet_core_hardware.xml文件的<permissions>段中添加:

     <feature name="android.hardware.usb.host" />  
    
  3. 修改AndroidManifest.xml文件,添加以下权限

     <uses-permission android:name="android.hardware.usb.host" />  
     <uses-permission android:name="android.hardware.usb.accessory" /> 
    

其实我测了不加也可以,也可以获取到;

  1. 重启设备

2. 上述方法中会出现的问题:

  1. /system/etc/permissions/下得文件无法修改,没权限修改和写,只有读得权限:Unable to chmod handheld_core_hardware.xml: Read-only file system
    • 解决方案:adb remount一下再去修改权限;

相关文章

网友评论

    本文标题:使用android USB API 无法获取USB设备ID的方法

    本文链接:https://www.haomeiwen.com/subject/rddnkxtx.html