【问题标题】:Sending data to Android device, immediately after connection to USB, results in timeout连接到 USB 后立即向 Android 设备发送数据导致超时
【发布时间】:2015-03-04 04:19:05
【问题描述】:

我有以下用例:

  1. 应用正在手机上运行。
  2. 用户将配件连接到手机。
  3. Accessory 将手机置于配件模式。
  4. 重新连接并打开正确的 USB 端点后,配件会立即尝试向应用发送数据。

在第 4 步,我在附件上获得了 USB error 7: Transfer error on bulk endpoint: Operation timed out。这可能是因为应用程序尚未打开 InputStream。

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

【问题讨论】:

    标签: android usb android-open-accessory


    【解决方案1】:

    您可能知道,USB 充其量是不稳定的,因此我会查看驱动程序的问题和/或重新启动主机和手机。这是我假设设备上的 USB 设置良好的唯一建议。

    这个StackOverflow Question 有很多我想看的答案,有些不像不使用USB3 端口那么明显。

    【讨论】:

    • 这与所提出的问题无关,这涉及将手机连接到普通台式计算机。请花点时间研究一下附件模式到底是什么。
    • 该问题的answer 被证明非常有帮助。看我的回答。
    【解决方案2】:

    原来的解决方案是增加 USB 传输的超时时间。我正在使用 USB4Java,它的默认超时时间为 5 秒。当超时时间增加时,结果第一次传输需要 15 秒才能完成。所以我把它设置为 30 秒。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-09
      • 2014-08-29
      相关资源
      最近更新 更多