android usb host开发中 
boolean b=connection.claimInterface(intf, false)
之后b=false;这是什么情况,怎么解决。
部分代码如下:private boolean setUsbInterface(UsbDevice device, UsbInterface intf) {
if (mDeviceConnection != null) {
if (mInterface != null) {
mDeviceConnection.releaseInterface(mInterface);
mInterface = null;
}
mDeviceConnection.close();
mDevice = null;
mDeviceConnection = null;
} if (device != null && intf != null) {
UsbDeviceConnection connection = mManager.openDevice(device);
if (connection != null) {
l("open succeeded");
Toast.makeText( UsbService.this,"open succeeded", Toast.LENGTH_LONG).show();
if (connection.claimInterface(intf, false)) {
l("claim interface succeeded");
Toast.makeText( UsbService.this,"claim interface succeeded", Toast.LENGTH_LONG).show();
mDevice = device;
mDeviceConnection = connection;
//CP2102.setUsbConnection(mDeviceConnection);
mInterface = intf;
setUsbEndpoint(mInterface);
// try {
// // sendTestData();
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
synchronized (mState) {
mState = State.RUNNING;
}

ReadWriteThread mReadWriteThread = new ReadWriteThread();
new Thread(mReadWriteThread).start();
return true;
} else {
l("claim interface failed");
Toast.makeText( UsbService.this,"claim interface failed", Toast.LENGTH_LONG).show();
connection.releaseInterface(intf);
connection.close();
}
} else {
l("open failed");
Toast.makeText( UsbService.this,"open failed", Toast.LENGTH_LONG).show(); }
}
求大神看看。usb hostandroidusb  hostUsbDeviceConnectionclaimInterface