蓝牙spp,if语句内部处理程序无法正常工作

时间:2014-02-13 00:44:19

标签: android bluetooth spp

我正在使用蓝牙聊天示例,我有以下问题..

当我在处理程序中添加if语句时,它总是返回false ..

  case MESSAGE_READ:
                    byte[] readBuf = (byte[]) msg.obj;
                    String stringMsg = new String(readBuf);

                    if ( stringMsg == "a"){
                        Log.i(tag,"x RECEIVED OK...");
                    }
                    break;

当我调试程序时,我得到:

stringMsg = {java.lang.String@830020784928}"a��������....."
        value = {char[1364]830020788104}
               [0] = 'a' 97
               [1] = '\u0000' 0
               [2] = '\u0000' 0
               [3] = '\u0000' 0
               [4] = '\u0000' 0
               [5] = '\u0000' 0
               [6] = '\u0000' 0 
                  ...
                  ...
                  ...
                  ...
                  ...
        hashCode = 0
          offset = 0
           count = 1024

你能帮我看看输入流将字符保存为字符串(stringMsg)并能够使用if语句检查其内容吗?

提前谢谢..!

1 个答案:

答案 0 :(得分:0)

if(stringMsg ==“a”) 应为 if(stringMsg.equals(“a”)) < / strong>如果要比较值而不是参考值。