ClassicBluetooth icon indicating copy to clipboard operation
ClassicBluetooth copied to clipboard

可以配对连接,可以发送数据,但是无法接收到数据,也没有报错信息。

Open sunguiyong opened this issue 4 years ago • 1 comments

可以配对连接,可以发送数据,但是无法接收到数据,也没有报错信息。

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

sunguiyong avatar Feb 01 '21 02:02 sunguiyong

这个库确实没有客户端收数据的方法,需要自己手动写。 蓝牙连接成功后开启子线程接收数据: 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(); } } });

rainfoam avatar Aug 31 '21 10:08 rainfoam