ClassicBluetooth
ClassicBluetooth copied to clipboard
可以配对连接,可以发送数据,但是无法接收到数据,也没有报错信息。
可以配对连接,可以发送数据,但是无法接收到数据,也没有报错信息。
CbtManager.getInstance().startServiceListener(new ServiceListenerCallback() { @Override public void onStartError(Throwable throwable) { CbtLogs.e(throwable.getMessage()); }
@Override
public void onDataListener(String s, BluetoothDevice device) {
CbtLogs.e("onDataListener:" + s);
}
});
这个库确实没有客户端收数据的方法,需要自己手动写。 蓝牙连接成功后开启子线程接收数据: CbtExecutor.getInstance().execute(new Runnable() { @Override public void run() { ByteArrayOutputStream byteArrayOutputStream; byte[] buffer = new byte[1024]; int bytes; try { InputStream inputStream = mBluetoothSocket.getInputStream(); while (true) { while ((bytes = inputStream.read(buffer)) != -1) { byteArrayOutputStream = new ByteArrayOutputStream(); byteArrayOutputStream.write(buffer, 0, bytes); //resole是并包的方法,不并包数据是错乱的 byte[] resole = ReadUtil.resole(byteArrayOutputStream.toByteArray()); } } } catch (IOException e) { e.printStackTrace(); } } });