android设备使用usb线通过FT311D芯片与下位机设备进行通信,但是在最后退出程序时,由于fileinputstream.read方法在阻塞,所以无法彻底清除退出,当再一次启动程序与下位机通信时,就是报错。有大神帮忙解答一下么!!!十分感谢!!!
最起码得知道错误是什么呀,
关键代码如下:
private class read_thread extends Thread {
public void run() {
try {
while (READ_ENABLE) {
if (inputstream != null) {
try {
readcount = inputstream.read(usbdata, 0, 1024);
} catch (Exception e) {
Log.i("test", "读取异常了" + e.getMessage()+";"+e.getCause());
continue;
}
if (readcount > 0) {// 收到数据了
Message msg = new Message();
msg.obj = buffer;
msg.arg1 = readcount;
mHandler.sendMessage(msg);
for (int i = 0; i < readcount; i++) {
Log.i("test", "接收到第" + i + "位的数据" + buffer.get(i));
}
}
}
}
} catch (Exception e) {
Log.i("test", "异常了" + e);
}
Log.i("test", "while (READ_ENABLE == false)线程结束");
}
}
public void DestroyAccessory() {
READ_ENABLE = false;
try {
inputstream.close();
} catch (Exception e) {
Log.i("test", "异常"+e.getMessage());
}
}