Android USBAccessory重新连接

Fra*_*k X 5 usb android accessory

将USB配件拔出并重新打开后,我在重新连接它时遇到问题。第一次插入附件时,我可以执行所有步骤以与设备进行实际通信

  1. 列举配件
  2. 获得访问附件的权限
  3. 打开配件
  4. 使用FileDescriptor的I / O流对设备进行读写

当我拔下电缆并再次插入时,我可以完成上面列出的前两个步骤。问题是UsbManager的打开附件返回空值作为ParcelFileDescriptor。是什么原因造成的?可能是某些资源仍被保留,因此Android无法授予我访问该设备的权限吗?我将在调用openAccessory之前释放I / O流并关闭ParcelFileDescriptor。还有其他措施可以正确清理附件吗?有关USB附件的官方文档页面上有一个有关终止通讯的部分,但它并不是很有帮助。

http://developer.android.com/guide/topics/connectivity/usb/accessory.html