识别android rfcomm何时失去连接

时间:2014-02-03 05:27:55

标签: android bluetooth

当我的蓝牙设备暂时(GPS记录器)超出范围时,我希望优雅地处理这种情况,例如当我愉快地进行通信时,我不小心走到了墙后。在这种情况下,连接丢失,必须重新建立,但我找不到如何识别它丢失了。数据正在从设备“推送”,并且可以非常有效地在数据包中有延迟。
即使我关闭设备,

 socket.isConnected()
函数也会返回true。 我希望有一个控制器堆栈协议的属性,它必须维护无线电信道,但我还没有找到是否/如何访问它。
我知道我可以在定时器循环中实现ACK / NACK,但它似乎有点像重新发明轮子。

1 个答案:

答案 0 :(得分:0)

我过去曾尝试从套接字获取输入流。如果它没有连接,它会给你一些例外。在这种情况下,您会知道连接丢失,因为您没有从蓝牙设备收到任何消息。