用Usb host方式获得usb设备列表为什么为空!!!

zxw2844 2013-05-06 03:55:30
终于开始研究Android跟usb(从设备)之间的通信了,根据android提供的USB HOst的相关开发文档,学着写,发现找不到设备, 于是在百度上搜索了一下,例子还挺多的,于是根据一个例子再次写了测试代码!

哈哈,可以找到设备了,可以找到断点,当时心里高兴的啊,可惜当我第二天开启项目继续时,发现不行了,设备列表始终未空?? 百思不得其解? 将手机上的程序卸载,从新编译也不行

主要代码:
if ( getPackageManager().hasSystemFeature("android.hardware.usb.host") ) {
Log.d("TEST", ">>>> FOUND !");
}
permissionIntent = PendingIntent.getBroadcast(this, 0, new Intent(ACTION_USB_PERMISSION), 0);
IntentFilter filter = new IntentFilter(ACTION_USB_PERMISSION);
registerReceiver(mUsbReceiver, filter);
registerReceiver(mUsbReceiver, new IntentFilter(UsbManager.ACTION_USB_DEVICE_DETACHED));


usbMgr = (UsbManager)getSystemService(Context.USB_SERVICE);
HashMap<String, UsbDevice> deviceList = usbMgr.getDeviceList();
Iterator<UsbDevice> deviceIterator = deviceList.values().iterator();
Log.d("TEST", ">>>> Devices : " + deviceList.size() + "!" );
while (deviceIterator.hasNext())
{
UsbDevice usd = deviceIterator.next();
if(usd.getVendorId() == vendorId && usd.getProductId() == productId) {
usbDevice = usd;
AnlayseUsbDev(usbMgr,usbDevice);
break;
} // end if
} // end while
}

private final BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (ACTION_USB_PERMISSION.equals(action)) {
synchronized (this) {
UsbDevice device = (UsbDevice)intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
if (intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false)) {
if(device != null){
//AnlayseUsbDev(device);
}
}
else {
Log.d("TEST", "permission denied for device " + device);
}
}
}
}
};


代码中间没有修改,只是增加了一些对端点的操作,但这也不影响扫描设备啊?
不知道什么原因,请各位大侠指教!!
...全文
148 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sckalman 2013-06-29
  • 打赏
  • 举报
回复
楼主 是枚举HID设备还是 ?? qq41485179
zxw2844 2013-05-07
  • 打赏
  • 举报
回复
没人知道这个问题出在哪里吗???

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧