小编Lev*_* M.的帖子

从 Android USB 配件读取数据的更好方法

我正在用 Java 编写一个 Android 应用程序,该应用程序使用 Android 配件 API 与 USB 配件进行通信。

谷歌文档并没有给出实际读取和写入数据,只是如何打开附件进行通信的例子。

它还说明了两件事:

  1. 通信应该在后台线程中完成,而不是在 UI 线程上。
  2. 读取缓冲区的长度应至少为 16384 字节,因为这是 Android Open Accessory 协议的最大消息长度。

我实现了这样的阅读:

/** boiler plate from example docs: **/
fileDescriptor = usbManager.openAccessory(accessory);

if (fileDescriptor != null) {
    FileDescriptor fd = fileDescriptor.getFileDescriptor();
    inputStream = new FileInputStream(fd);
    readBuffer = new byte[16384];
    // ... some more code that is not relevant for reading data ... //
}

/** my code in separate thread: **/

int read;

while ((read = …
Run Code Online (Sandbox Code Playgroud)

java usb android accessory

5
推荐指数
0
解决办法
427
查看次数

标签 统计

accessory ×1

android ×1

java ×1

usb ×1