如何检测android bluetooth connectgatt()自动连接完成

xqk2d5yq  于 2021-09-13  发布在  Java
关注(0)|答案(0)|浏览(258)

编辑#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)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题