最近老板让弄安卓和一块板子通信,现在的情况是本人第一次发送数据可以接受到(一些参数的初始化),然后本人再发送数据,就接收不到了,数据肯定是发送成功了,只是本人的逻辑代码有问题(新手,懂的较少),原因是本人退出了然后再进入程序数据就接收到了,不知道怎么样实现线程内的代码一直处于监听状态,本人的代码:
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();
希望大家给点建议,感激不尽!
解决方案