解决方案 »

  1.   


    socket = device.createRfcommSocketToServiceRecord(UUID
    .fromString("00001101-0000-1000-8000-00805F9B34FB")); if (socket.isConnected())
    socket.close(); // 取消搜索
    if (mBtAdapter != null) {
    mBtAdapter.cancelDiscovery();
    }
    socket.connect();
    boolean ss = socket.isConnected();
    progressDialog.dismiss();

    OutputStream os = socket.getOutputStream();
    String str = "fdfdfa050d0a";
    os.write(hexStringToBytes(str)); 我测试的时候用了这个简单的代码,这样也发送失败。LOG如下:
    04-17 10:40:17.128: E/connect(23390): java.io.IOException: [JSR82] write: write() failed.
    04-17 10:40:17.128: E/connect(23390):  at android.bluetooth.BluetoothSocket.write(BluetoothSocket.java:702)
    04-17 10:40:17.128: E/connect(23390):  at android.bluetooth.BluetoothOutputStream.write(BluetoothOutputStream.java:85)
    04-17 10:40:17.128: E/connect(23390):  at java.io.OutputStream.write(OutputStream.java:82)
    04-17 10:40:17.128: E/connect(23390):  at com.mnhealth.TestSugar$clientThread.run(TestSugar.java:201)系统是android 4.2.2拜托帮忙指点一下。。
      

  2.   

    我觉得也是,因为无论什么时候socket.isContected都是返回false,但是socket.connect是没有报任何异常的,数据接收也能正常接收。
      

  3.   

    谢谢,已解决,
    os.flush();
    os.close();
      

  4.   

    楼主,怎么弄?我的写用Android 蓝牙接收串口传过来蓝牙模块的数据,第一次能接收,但是断开连接,再次连接后,就必须重启手机再次连接才能接收?怎么解决??!!跪求!
      

  5.   

    同问啊!
    按照楼主的方法os.flush();
    还是不能解决啊