android 蓝牙 socket closed,蓝牙套接字:读取失败,套接字可能关闭或超时(Bluetooth Socket: read failed, socket might closed or...

蓝牙套接字:读取失败,套接字可能关闭或超时(Bluetooth Socket: read failed, socket might closed or timeout)

所以我收到此错误: W/System.err: java.io.IOException: read failed, socket might closed or timeout, read ret: -1

我正在尝试使用三星Galaxy S4(API 21)和S2(API 16)通过蓝牙连接到自定义设备。 有时它有效。 我不知道会发生什么。

我知道还有其他问题的答案,但我觉得我已经看到了所有问题。

我不能使用BluetoothDevice的“createRfCommSocket”方法。

我的UUID是正确的,因为我知道我的自定义设备中的UUID。

我无法以编程方式启用和禁用BluetoothAdapter。

我尝试清除App Cache。

清除蓝牙缓存后,有时可以正常工作。

所以我的连接代码:

private class ConnectAsyncTask extends AsyncTask {

@Override

protected Boolean doInBackground(String... params) {

try {

Thread.sleep(5000);

UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");

mBluetoothDevice = mBluetoothAdapter.getRemoteDevice(params[0]);

mBluetoothSocket = mBluetoothDevice

.createRfcommSocketToServiceRecord(uuid);

mBluetoothSocket.connect();

mOutputStream = mBluetoothSocket.getOutputStream();

mInputStream = mBluetoothSocket.getInputStream();

return true;

} catch (Exception e) {

e.printStackTrace();

try {

mBl

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值