2013-04-14 4 views
1

Включен ли ACTION_CONNECTION_STATE_CHANGED при изменении соединений RFCOMM/SPP?Включен ли ACTION_CONNECTION_STATE_CHANGED при изменении соединений Bluetooth RFCOMM/SPP?

Или это только вещать об изменениях в «других профилей» (A2DP и ​​т.д.)

Я пытаюсь избежать того, чтобы управлять состояние соединения RFCOMM, если это состояние уже осуществляется под руководством BluetoothAdapter

Кроме того, не я бы прибегнул к нему, но кто-нибудь попытался использовать @hidden интерфейс BluetoothStateChangeCallback в BluetoothAdapter?

ответ

3

RFCOMM не является «профилем» Bluetooth, это протокол.

Профиль последовательного порта (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?