var inputStream = bluetoothSocket.getInputStream();
inputStream .read(Buffer);
如上代码在调用bluetoothSocket.getInputStream()的.read(Buffer)时候不能获取数据,提示出错。
经过修改发现直接 var data = inputStream .read();可以读出数据,返回为int类型数据,
经过对比,发现返回的数据如果大于一个字节 ,即int数值大于127 返回的数据则是不对的数据
对比如下
真是数据:[187 ,2,34,0,14,48,0,0,0,0,0,0,0,32,21,8,37,0,7,126,160,217]
返回数据:[1659,2,34,0,14,48,0,0,0,0,0,0,0,32,21,8,37,0,7,126,65533]
测试了很多遍,发现不但数据不对,数据的数量也少了,不知是BUG,还是需要做什么特殊处理,望官方或者知情人告知??
2 个回复
2***@qq.com - 2276375156
楼主问题解决了吗,你怎么处理read()阻塞主线程的问题
w***@126.com
http://ask.dcloud.net.cn/article/66 可以参考这个文档,在安卓层面读取蓝牙设备信息