android蓝牙连接错误(读取失败的套接字可能关闭或超时)

时间:2014-05-18 16:09:03

标签: android bluetooth arduino

我想从Android设备中的应用程序连接到远程设备(配对)。远程设备是HC-05模块 我的代码是:

UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb"); //Standard SerialPortService ID

try {
    mSocket = MyDevice.createRfcommSocketToServiceRecord(uuid);
} catch (IOException e) {
    Toast.makeText(this, "S", Toast.LENGTH_SHORT).show();
}  

ba.cancelDiscovery();

try {
    mSocket.connect();
} catch (IOException e){
    Toast.makeText(this, e.getLocalizedMessage(), Toast.LENGTH_SHORT).show();

    Log.e("YOUR_APP_LOG_TAG1", "I got an error", e);
}

try {
    mOutputStream = mSocket.getOutputStream();
    mInputStream = mSocket.getInputStream();
} catch (IOException e) {
    Toast.makeText(this, "io", Toast.LENGTH_SHORT).show();
}

但是我在行mSocket.connect()中收到错误。

错误:

  

读取失败的套接字可能已关闭或超时读取

请帮忙。

1 个答案:

答案 0 :(得分:-2)

这可能是由许多事情造成的 - 在我的案例中我找到了三个:

  1. 电源问题 - HC-05不稳定,即使它没有显示出明显的LED闪烁模式。电池更换固定了这一点。

  2. 另一台设备与HC-05配对,有时“偷”连接。可能通过一些使用AT命令的设置来修复,但我只是简单地取消了除了一个设备之外的所有设置。

  3. 设备已关闭/超出范围。