蓝牙socket读取数据需读多次才读全
今天上班解决了一个问题:android程序通过蓝牙socket读取数据时,需要读多次才能把完整的响应APDU读全。当前用的方法来自android示例程序:
<!--EndFragment-->02001580FFFFFFFF00A4040010D15600010180038000000001000000006A03,接收三次,每次的结果都不一样:
(1)02001580FFFFFFFF00A4040010D1560001018003? 8000000001000000006A? 03
(2)02? 001580FFFFFFFF00A4040010D15600010180038000000001000000006A? 03
(3)02001580FFFFFFFF00A4040010D15600010180038000000001000000006A? 03
修改示例代码:响应APDU是可以解析的,第3个字节的值加上10就等于响应APDU的长度,其中10是前缀和后缀的长度之和。
??
?
?
1 楼 charlotte 2012-02-20 byte[] buffer = new byte[1024];
255不就够啦