2010-06-30 154 views
3

我如何知道BluetoothSocket是否仍连接到端点?如何检测套接字是否已被端点断开连接?蓝牙插座连接

谢谢

回答

2

在我的应用程序中,我跟踪I/O错误。如果成功read()发生,那么我重置计数器。如果错误计数器增加得足够高(4-5通常是一个很好的数字),那么我认为连接已经死掉,然后继续拆下并重新构建它。

约状态改变意图的SDK谈判,但我不清楚是否它指的是一个特定的连接,或蓝牙适配器本身here

或者,你的应用程序也可以 监听ACTION_STATE_CHANGED 广播意图,系统 将在蓝牙 状态发生更改时进行广播。此广播 包含额外字段EXTRA_STATE 和EXTRA_PREVIOUS_STATE,分别包含 新老蓝牙状态, 。这些额外字段的可能值为 STATE_TURNING_ON,STATE_ON, STATE_TURNING_OFF和STATE_OFF。 收听此广播可以是 ,用于检测您的应用运行时 蓝牙状态所做的更改。

+0

嗨布拉德......似乎没有其他的方式来得到它的工作:(..我认为一个替代解决方案可以..但我没有得到任何结果,直到现在..感谢您的答复 – hara 2010-07-04 10:21:53

+0

感谢您的跟踪,我也很惊讶,没有更好的(内置)处理方式(如广播)。 – 2010-07-04 13:29:07