RN-42 + Android接收消息问题

时间:2016-02-22 18:49:03

标签: android bluetooth

我正在构建一个Android应用程序来与我的NR-42蓝牙设备进行通信。我能够连接到蓝牙并将数据发送到PIC18F设备,但我无法从我的设备接收蓝牙数据到我的Android手机。

我正在关注此示例http://solderer.tv/data-transfer-between-android-and-arduino-via-bluetooth/comment-page-1/

当我使用tera-term时,它告诉我蓝牙模块正在做它想做的事情,但我无法在textViews中获取数据。我正在尝试发送浮动数据。我是android的新手,但我认为这个问题正在发生。

  h = new Handler() {
        public void handleMessage(android.os.Message msg) {
            switch (msg.what) {
            case RECIEVE_MESSAGE:                                                   // if receive massage
                byte[] readBuf = (byte[]) msg.obj;
                String strIncom = new String(readBuf, 0, msg.arg1);                 // create string from bytes array
                sb.append(strIncom);                                                // append string
                int endOfLineIndex = sb.indexOf("\r\n");                            // determine the end-of-line
                if (endOfLineIndex > 0) {                                            // if end-of-line,
                    String sbprint = sb.substring(0, endOfLineIndex);               // extract string
                    sb.delete(0, sb.length());                                      // and clear
                    txtArduino.setText("Data from Arduino: " + sbprint);            // update TextView
                    btnOff.setEnabled(true);
                    btnOn.setEnabled(true);
                }
                //Log.d(TAG, "...String:"+ sb.toString() +  "Byte:" + msg.arg1 + "...");
                break;
            }
        };
    }; 

”     这里正在读取输入流。“

    public void run() {
        byte[] buffer = new byte[256];  // buffer store for the stream
        int bytes; // bytes returned from read()

        // Keep listening to the InputStream until an exception occurs
        while (true) {
            try {
                // Read from the InputStream
                bytes = mmInStream.read(buffer);        // Get number of bytes and message in "buffer"
                h.obtainMessage(RECIEVE_MESSAGE, bytes, -1, buffer).sendToTarget();     // Send to message queue Handler
                Log.d(TAG, "sent handler");
            } catch (IOException e) {
                break;
            }
        }
    }

有没有人遇到这个问题或者可以帮助我?

由于

0 个答案:

没有答案