【发布时间】:2019-01-17 14:27:07
【问题描述】:
android 通过usb 附件模式与pc 通信时,如果pc 向android 发送512bytes 数据,android 将无法接收数据。 但是,如果超过(或低于)512 字节的数据传输,则没有问题。 如果 android 在接收到 512bytes 数据后接收到其他字节数据,则传入丢失的数据和其他字节数据(512bytes + 其他数据)。
我在线程上读取的代码如下。
@Override
public void run() {
byte[] readbuffer = new byte[16384];
int bytesRead = 0;
try {
while ((bytesRead = mInputStream.read(readbuffer, 0, readbuffer.length)) != -1) {
//my code here afrer read.
....
mHandler.sendMessage(msg);
}
} catch (IOException e) {
e.printStackTrace();
}
}
这不仅发生在 512 字节,还发生在其他一些特定长度(512 字节、1024 字节、2048 字节......)。 这是android配件模式的bug吗?
有人知道这个问题吗?
【问题讨论】:
-
你有最小的代码示例吗?
-
我刚刚在线程上添加了我的阅读代码。我认为没有问题。 @JeroenHeier