2010-06-30 201 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