最近老板让弄安卓和一块板子通信,现在的情况是本人第一次发送数据可以接受到(一些参数的初始化),然后本人再发送数据,就接收不到了,数据肯定是发送成功了,只是本人的逻辑代码有问题(新手,懂的较少),原因是本人退出了然后再进入程序数据就接收到了,不知道怎么样实现线程内的代码一直处于监听状态,本人的代码:
Runnable runnable = new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
UsbRequest request = new UsbRequest();
boolean initilzed = request.initialize(conn, endpointIn);
System.out.println(initilzed);
ByteBuffer buffer = ByteBuffer.allocate(38);
request.queue(buffer, 38);
while (initilzed) {
if (conn.requestWait().equals(request)) {
byte[] data = buffer.array();
conn.bulkTransfer(endpointIn, data, 38, 1000);
// System.out.println(data.toString());
final String message = "Read " + data.length + " bytes: \n"
+ HexDump.dumpHexString(data) + "\n\n";
System.out.println(message);
}
}
}
};
本人在oncreate方法里面
mthread = new Thread(runnable); mthread.start();
希望大家给点建议,感激不尽!
解决方案