连接到USB后立即向Android设备发送数据会导致超时

连接到USB后立即向Android设备发送数据会导致超时,android,usb,android-open-accessory,Android,Usb,Android Open Accessory,我有以下用例: 应用程序正在手机上运行 用户将附件连接到手机 附件将手机置于附件模式 重新连接并打开右USB端点后,附件立即尝试向应用程序发送数据 在步骤4,我得到附件上的USB错误7:批量端点上的传输错误:操作超时。这可能是因为应用程序尚未打开InputStream 处理这种情况的正确方法是什么?正如您可能知道的那样,USB充其量是脆弱的,因此我将研究驱动程序和/或重启主机和手机的问题。这是我唯一的建议,假设USB设置在设备上是好的 这有很多答案,我会看看,有些答案不像不使用USB3端口那么明

我有以下用例:

  • 应用程序正在手机上运行
  • 用户将附件连接到手机
  • 附件将手机置于附件模式
  • 重新连接并打开右USB端点后,附件立即尝试向应用程序发送数据
  • 在步骤4,我得到附件上的
    USB错误7:批量端点上的传输错误:操作超时。这可能是因为应用程序尚未打开InputStream


    处理这种情况的正确方法是什么?

    正如您可能知道的那样,USB充其量是脆弱的,因此我将研究驱动程序和/或重启主机和手机的问题。这是我唯一的建议,假设USB设置在设备上是好的


    这有很多答案,我会看看,有些答案不像不使用USB3端口那么明显

    解决方案是增加USB传输的超时时间。我使用的是USB4Java,默认超时时间为5秒。当超时时间增加时,第一次传输需要15秒才能完成。因此,我将其设置为30秒。

    这与所问的问题无关,这不涉及将手机连接到普通桌面电脑。请花点时间研究一下附件模式到底是什么。不过,这个问题的答案证明是非常有用的。看看我的答案。