(编辑#2:尝试连接多个设备)
我正在使用bluetoothdevice.connectgatt()并将“自动连接”设置为true,以连接到多个设备:
bluetoothDevice1.connectGatt(context, true, BLGattCallback(context), BluetoothDevice.TRANSPORT_LE)
bluetoothDevice2.connectGatt(context, true, BLGattCallback(context), BluetoothDevice.TRANSPORT_LE)
(编辑#1)我在bluetoothgattcallback()中使用onconnectionstatechange():
internal class BLGattCallback(val context: BTLeashService) : BluetoothGattCallback() // Todo: Convert to LiveData
{
override fun onConnectionStateChange(gatt: BluetoothGatt, status: Int, newState: Int)
{
super.onConnectionStateChange(gatt, status, newState)
val connectionStateChange = BLBluetoothManager.ConnectionStateChange(gatt, status, newState)
BLBluetoothManager.connectionStateChange.postValue(connectionStateChange)
}
(结束编辑#1)
使用此方法,我必须在执行下一个connectgat()之前使用延迟,否则前一个会被中止。为什么会这样?我认为它不应该等待,只要接通就回电话。。。
第一次连接完成后是否有回拨通知您,这样我就不需要临时延迟?
编辑#3
“first connectgatt is complete”并不是说建立了连接,而是说我现在可以执行下一个命令而不中止上一个命令。
(结束编辑#3)
暂无答案!
目前还没有任何答案,快来回答吧!