2013-04-14 92 views
1

在更改RFCOMM/SPP連接時是否廣播了ACTION_CONNECTION_STATE_CHANGED?對藍牙RFCOMM/SPP連接的更改廣播了ACTION_CONNECTION_STATE_CHANGED?

抑或是隻對變化廣播到「其他配置文件」(A2DP等)

我試圖避免管理的RFCOMM連接的狀態,如果它的狀態已經被託管BluetoothAdapter

此外,不是我會訴諸它,但有人試圖在BluetoothAdapter中使用@hidden BluetoothStateChangeCallback接口?

回答

3

RFCOMM不是藍牙'Profile',它是一種協議。

串行端口配置文件(SPP)基於RFCOMM並且是一個配置文件。 雖然我使用

「的知名SPP UUID 00001101-0000-1000-8000-00805F9B34FB」

SPP似乎並沒有成爲一個「官方支持」的個人資料,從而ACTION_CONNECTION_STATE_CHANGED未廣播。

可以使用ACTION_ACL_CONNECTED,ACTION_ACL_DISCONNECTED和ACTION_ACL_DISCONNECT_REQUESTED廣播事件BluetoothDevice來偵聽bluetoothDevice的狀態。

這些是將針對RFCOMM協議和配置文件連接廣播的低級別事件。

我發現這些廣播不一定以預期的方式表現出來。 正如也在這裏經歷的What triggers the BluetoothDevice.ACTION_ACL broadcasts?