之前在论坛里面求助了关于监听数据接收的问题,因为第一次做这方面,可能我提的问题太简单了,大神都不愿意回答我,(之前的帖子)晚上翻墙浏览网站发现问题的解决办法,

原文是:最近老板让弄安卓和一块板子通信,现在的情况是我第一次发送数据可以接受到(一些参数的初始化),然后我再发送数据,就接收不到了,数据肯定是发送成功了,只是我的逻辑代码有问题(新手,懂的较少),因为我退出了然后再进入程序数据就接收到了,不知道如何实现线程内的代码一直处于监听状态,我的代码:

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);
}
}
}
};

现在说下解决办法:其实很简单,就是loop循环里面执行异步任务:

	Runnable runnable = new Runnable() {

		@Override
public void run() {
// TODO Auto-generated method stub
// System.out.println("进入线程了");
while (true) {
synchronized (this) {
UsbRequest request = new UsbRequest();
request.initialize(conn, endpointIn);
ByteBuffer buffer = ByteBuffer.allocate(38);
request.queue(buffer, 38);
if (conn.requestWait().equals(request)) {
byte[] data = buffer.array();
conn.bulkTransfer(endpointIn, data, 38, 1000);
final String message = "Read " + data.length
+ " bytes: \n" + HexDump.dumpHexString(data)
+ "\n\n";
System.out.println(message);
}
} } }
};

高手见谅,权当是自己记录的一点心得,毕竟网上别人关于这方面资料少,具体的例子也没有。

安卓usb数据接收的更多相关文章

  1. stm32 usb数据接收与数据发送程序流程分析

    http://blog.csdn.net/u011318735/article/details/17424349 既然学习了USB,那就必须的搞懂USB设备与USB主机数据是怎么通讯的.这里主要讲设备 ...

  2. 安卓 USB摄像头 开源库 UVCCamera 教程

    https://github.com/saki4510t/UVCCamera UVCCamera 听名字就知道使用UVC( USB VEDIO CLASS) 协议的通用类库.linux原生支持,基本支 ...

  3. USB2.0协议学习笔记---USB数据包结构

    USB包类型和传输过程  USB是一种串行总线,因此数据都是一位一位传输的,如同串口那样,但是USB在真实物理电路上却不是TTL电平,而是一种差分信号采用NRZI编码,就是用变化表示0,不变表示1,同 ...

  4. 如何用Wireshark捕获USB数据?

    现在越来越多的电子设备采用USB接口进行通讯,通讯标准也在逐步提高.那么,我们就会好奇这些设备是如何工作的?而无论你是一个硬件黑客,业余爱好者或者只是对它有一点兴趣的,USB对我们都是具有挑战性的. ...

  5. 内核中用于数据接收的结构体struct msghdr(转)

    内核中用于数据接收的结构体struct msghdr(转) 我们从一个实际的数据包发送的例子入手,来看看其发送的具体流程,以及过程中涉及到的相关数据结构.在我们的虚拟机上发送icmp回显请求包,pin ...

  6. 酷友观点/经验:支付接口返回数据接收地址,session数据丢失(或者说失效)的问题浅析(原创文章)

    酷友观点/经验:支付接口返回数据接收地址,session数据丢失(或者说失效)的问题浅析(原创文章)   最近手头在开发一个游戏官网,在支付模块采用神州付技术支持,神州付数据表单中要求提供服务器返回地 ...

  7. 截取usb数据包,控制usb设备----Relay设备

    在项目开发当中,我们需要一个usb转继电器的设备当开关控制无线发射设备,采购部采购时并未详细了解Relay设备的运行环境就买了一批设备,之后发现设备厂家只提供了windows库,而我们是要在linux ...

  8. Spark Streaming 数据接收过程

    SparkStreaming 源码分析 一节中从源码角度,描述了Streaming执行时代码的调用过程.下边就接收转化阶段过程再简单分析一下,为分析backpressure作准备. SparkStre ...

  9. UDP数据接收服务器

    简介 这是我在做一个要用UDP方式进行数据传输时,自己写的一个多线程的UDP数据接收服务器, 它能将接收到的UDP数据包存成文件,并提供数据包接收时间监测: 还支持键盘命令响应,以将数据写到新的文件, ...

随机推荐

  1. nmap 快速扫描所有端口

    nmap -sT -sV -Pn -v xxx.xxx.xxx.xxx nmap -sS -p 1-65535 -v 192.168.1.254参数:-sS    TCP SYN扫描    nmap ...

  2. Learning Python 012 函数式编程 2 返回函数 匿名函数 装饰器 偏函数

    Python 函数式编程 2 返回函数 返回函数的意思就是:函数作为返回值.(高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回.) 举个例子:实现一个可变参数的求和. 正常的函数: de ...

  3. js中的cookie的设置获取和检查

    设置cookiefunction setCookie(cname,cvalue,exdays) { var d = new Date(); d.setTime(d.getTime()+(exdays* ...

  4. 前端编码规范 -- css篇

    合理的避免使用ID 一般情况下ID不应该被应用于样式. ID的样式不能被复用并且每个页面中你只能使用一次ID. 使用ID唯一有效的是确定网页或整个站点中的位置. 尽管如此,你应该始终考虑使用class ...

  5. VS code deploy同步服务器代码

    首先在安装“deploy”插件 然后打开settings.json文件加上 { "deploy": { "packages": [ { "name&q ...

  6. 796D(bfs)

    题目链接: http://codeforces.com/problemset/problem/796/D 题意: 给出一颗 n 个节点树, 树枝连接的两个定点距离为 1, 树中有 k 个特殊点, 问最 ...

  7. pb_ds的优先队列实现dijkstra

    用pb_ds的优先队列来做dijkstra..据说noip能用哟. 先来篇关于仿函数的文章. 由于pb_ds支持由迭代器访问元素,并且push操作会返回一个迭代器,merge操作会更新迭代器,相当于帮 ...

  8. 手写堆的dijkstra

    颓废.. #include <cstdio> #include <cstring> #include <algorithm> using namespace std ...

  9. CDN working principle diagram

    转自 https://cloud.tencent.com/developer/article/1358553

  10. (四)从输入URL到页面加载发生了什么

    一.从输入URL到页面加载发生了什么 1.在浏览器中输入URL 如:https://www.cnblogs.com/loveapple/ URL分成协议.地址.路径三部分 协议:http.https. ...