Android USB Host开发之manager.getDeviceList()获取不到设备列表【转载】

原文:https://www.2cto.com/kf/201305/211304.html


同样遇到这样的问题,我的Android设备是原道N12C,官方的4.0.3系统,遇到这个问题,后来找了半天找到的,现在汇总一下吧:

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


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

<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>段中添加:


[html] 
<feature name="android.hardware.usb.host"> 

<feature name="android.hardware.usb.host">重启设备


3、修改AndroidManifest.xml文件,添加以下权限:


[html]  ="android.hardware.usb.host" /> 

<uses-permission android:name="android.hardware.usb.host" />     这一句 其实可以在AndroidMannifest.xml 添加吐舌头

 

4、枚举设备的代码例子:
[html] 
UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE); 
HashMap<String, UsbDevice> deviceList = manager.getDeviceList(); 
Log.e(TAG, "get device list  = " + deviceList.size()); 
Toast.makeText(this, "get device list  = " + deviceList.size(), 200).show(); 
Iterator<UsbDevice> deviceIterator = deviceList.values().iterator(); 
while (deviceIterator.hasNext()) { 
     UsbDevice device = deviceIterator.next(); 
     Log.e(TAG, "device name = " + device.getDeviceName()); 

UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
HashMap<String, UsbDevice> deviceList = manager.getDeviceList();
Log.e(TAG, "get device list  = " + deviceList.size());
Toast.makeText(this, "get device list  = " + deviceList.size(), 200).show();
Iterator<UsbDevice> deviceIterator = deviceList.values().iterator();
while (deviceIterator.hasNext()) {
     UsbDevice device = deviceIterator.next();
     Log.e(TAG, "device name = " + device.getDeviceName());
}

猜你喜欢

转载自blog.csdn.net/oDianZi1234567/article/details/79273994