建议楼主把异常贴出来看看。从你的代码来看,两个线程分别进行初始化和收数据,并没有先后顺序,所以收数据的时候流对象都可能没初始化好。另外不确定是否已经配对。建议也看一下bluetoothchat例子。

解决方案 »

  1.   

    按照说法来说,上位机发送一个指令到外设,外设返回D,同时打开外设,是不是你发送过去指令外设没有收到?因为从逻辑上来说,手机只要指令发送,外设收到,那么就会打开机器,你现在是指令发送了,没有收到回复,并且机器也没有打开,那有可能是外设并没有收到指令,你的连接没有成功。
    另外外设匹配方面如果有多个外设的话最好还是用外设ID或者蓝牙地址来匹配,能保证连接的唯一性。
    如果只有一个外设要连接的话,用外设的名称就可以了。
      

  2.   

    都是建蓝牙socket,我的单片机蓝牙就无法连接,一直卡这边,能扫描到,但连接不上,我觉得应该是单片机蓝牙模块的问题,这没有打开服务端的socket,不知我说的是否正确,请指教