проблемы со строкой блютуз получены - PullRequest
0 голосов
/ 30 октября 2018

Я пытаюсь получить сообщение Bluetooth с цифрового баланса я делаю это как

private class ConnectedThread extends Thread
{
    private final InputStream mmInStream;
    private final OutputStream mmOutStream;

    ConnectedThread(BluetoothSocketWrapper socket)
    {
        InputStream tmpIn = null;
        OutputStream tmpOut = null;
        try
        {
            tmpIn = socket.getInputStream();
            tmpOut = socket.getOutputStream();
        } catch (IOException e) {
            e.printStackTrace();
        }
        mmInStream = tmpIn;
        mmOutStream = tmpOut;
    }

    public void run()
    {
        try{
            int bytes;
            while (true) {
                try {
                    int availableBytes = mmInStream.available();
                    byte[] buffer = new byte[availableBytes];
                    if (availableBytes > 0){
                        bytes = mmInStream.read(buffer);
                        String readMessage = new String(buffer, 0, bytes);
                        // Envia los datos obtenidos hacia el evento via handler
                        int finalBytes = bytes;

                        if (bytes>=3){
                            bluetoothIn.obtainMessage(handlerState, finalBytes, -1, readMessage).sendToTarget();
                        }else{
                            SystemClock.sleep(100);
                        }
                    }

                } catch (IOException e) {
                    break;
                }
            }
        }catch (Exception er){
            er.printStackTrace();
        }



        // Se mantiene en modo escucha para determinar el ingreso de datos

    }

моя проблема в сообщении, которое я получаю. введите описание изображения здесь

на изображении вы можете видеть зеленую отметку, это все сообщение, которое я должен получить, но иногда приходит только вес или ничего, я подключаюсь с другим приложением к цифровому балансу, и сообщение завершается. так что баланс не проблема, я думаю.

спасибо за чтение и помощь. прощай

1 Ответ

0 голосов
/ 30 октября 2018

Попробуйте использовать 'токен', чтобы сообщить стороне андроида, что команда / строка закончилась. например: при отправке команды в andorid myString отправьте ее как myString \ r \ n и проанализируйте ее на устройстве Android. Кажется, проблема связана с тем, что буфер устройства / модуля Bluetooth не очищается

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...