0

我想通过使用蓝牙应用程序接收来自 obd 的数据,但是数据是分开的,我必须做什么..???

我想要完整的数据。
帮我!!

{

case MESSAGE_STATE_CHANGE:
                if(D) Log.i(TAG, "MESSAGE_STATE_CHANGE: " + msg.arg1);
                switch (msg.arg1) {
                case BluetoothChatService.STATE_CONNECTED:
                    setStatus(getString(R.string.title_connected_to, mConnectedDeviceName));
                    mConversationArrayAdapter.clear();
                    break;
                case BluetoothChatService.STATE_CONNECTING:
                    setStatus(R.string.title_connecting);
                    break;
                case BluetoothChatService.STATE_LISTEN:
                case BluetoothChatService.STATE_NONE:
                    setStatus(R.string.title_not_connected);
                    break;
                }
                break;
            case MESSAGE_WRITE:
                byte[] writeBuf = (byte[]) msg.obj;
                // construct a string from the buffer
                String writeMessage = new String(writeBuf);
//                mConversationArrayAdapter.add("Me:  " + writeMessage);
                break;
            case MESSAGE_READ:
                byte[] readBuf = (byte[]) msg.obj;
                Log.d("hoy", "readBuf===="+ readBuf);
                // construct a string from the valid bytes in the buffer
                String readMessage = new String(readBuf, 0, msg.arg1);
//                mConversationArrayAdapter.add(mConnectedDeviceName+":  " + readMessage);

                reciveData = readMessage;
                Log.d("hoy", "ReciveData==="+reciveData);}

日志:

12-11 17:36:22.184: D/hoy(26303): send ok
12-11 17:36:22.184: D/hoy(26303): display protocol
12-11 17:36:22.219: V/BluetoothSocket.cpp(26303): readNative
12-11 17:36:22.219: D/hoy(26303): readBuf====[B@42199000
12-11 17:36:22.219: D/hoy(26303): ReciveData===A
12-11 17:36:22.219: V/BluetoothSocket.cpp(26303): readNative
12-11 17:36:22.219: D/hoy(26303): readBuf====[B@42199000
12-11 17:36:22.219: D/hoy(26303): ReciveData===UTO

12-11 17:36:26.214: V/BluetoothSocket.cpp(26303): writeNative
12-11 17:36:26.214: D/hoy(26303): send ok
12-11 17:36:26.214: D/hoy(26303): get rpm button clicked
12-11 17:36:26.249: V/BluetoothSocket.cpp(26303): readNative
12-11 17:36:26.249: D/hoy(26303): readBuf====[B@42199000
12-11 17:36:26.249: D/hoy(26303): ReciveData===S
12-11 17:36:26.249: V/BluetoothSocket.cpp(26303): readNative
12-11 17:36:26.249: D/hoy(26303): readBuf====[B@42199000
12-11 17:36:26.249: D/hoy(26303): ReciveData===EARC
12-11 17:36:26.249: V/BluetoothSocket.cpp(26303): readNative
12-11 17:36:26.249: D/hoy(26303): readBuf====[B@42199000
12-11 17:36:26.254: D/hoy(26303): ReciveData===HIN
12-11 17:36:26.254: V/BluetoothSocket.cpp(26303): readNative
12-11 17:36:26.254: D/hoy(26303): readBuf====[B@42199000
12-11 17:36:26.254: D/hoy(26303): ReciveData===G..
12-11 17:36:30.339: V/BluetoothSocket.cpp(26303): readNative
12-11 17:36:30.344: V/BluetoothSocket.cpp(26303): readNative
12-11 17:36:30.344: D/hoy(26303): readBuf====[B@42199000
12-11 17:36:30.344: D/hoy(26303): ReciveData===410C10
12-11 17:36:30.344: D/hoy(26303): readBuf====[B@42199000
12-11 17:36:30.349: D/hoy(26303): ReciveData===410C100CEF

12-11 17:36:30.399: V/BluetoothSocket.cpp(26303): readNative
12-11 17:36:30.404: V/BluetoothSocket.cpp(26303): readNative
12-11 17:36:30.404: D/hoy(26303): readBuf====[B@42199000
12-11 17:36:30.404: D/hoy(26303): ReciveData===3
12-11 17:36:30.404: V/BluetoothSocket.cpp(26303): readNative
12-11 17:36:30.404: D/hoy(26303): readBuf====[B@42199000
12-11 17:36:30.404: D/hoy(26303): ReciveData===01121E

12-11 17:36:30.409: D/hoy(26303): readBuf====[B@42199000
12-11 17:36:30.409: D/hoy(26303): ReciveData===01121E

12-11 17:36:30.609: V/BluetoothSocket.cpp(26303): readNative
12-11 17:36:30.614: D/hoy(26303): readBuf====[B@42199000
12-11 17:36:30.614: D/hoy(26303): ReciveData===
>
12-11 17:36:56.304: E/BluetoothChat(26303): - ON PAUSE -
12-11 17:36:56.339: E/BluetoothChat(26303): -- ON STOP --
12-11 17:36:56.404: W/IInputConnectionWrapper(26303): getSelectedText on inactive InputConnection
12-11 17:36:56.404: W/IInputConnectionWrapper(26303): setComposingText on inactive InputConnection
12-11 17:36:56.404: W/IInputConnectionWrapper(26303): getExtractedText on inactive InputConnection

发送数据: s/// erch/// ing

4

1 回答 1

0

我了解到您正在尝试从 ELM327 蓝牙加密狗中检索数据。有一个库可以帮助您管理 Android 设备和 OBD-II 加密狗之间的通信。我使用了它,它对我帮助很大。你可以在这里找到它:https ://github.com/pires/android-obd-reader

于 2013-12-13T10:47:15.597 回答