我正在尝试构建一个Android应用程序,它充当BLE外围设备,也充当GATT客户端 .

这些是我想要实现的步骤:

  • Android设备开始宣传自己 . 第二个设备开始扫描,一旦检测到Android设备,它就会启动连接 .

  • Android设备充当GATT客户端并尝试连接到服务器设备 .

第一步似乎工作正常,我能够做广告,其他设备(在我的情况下是一个Bluegiga Evalboard)能够看到Android设备并且可以 Build 连接 .

但是我如何在Android设备上通知可以 Build 连接以调用函数 device.connectGatt(context, false, gattCb) 以连接到GATT服务器?

我也通过在开始广告后获得远程设备来尝试它 .

BluetoothDevice device = bleAdapter.getRemoteDevice(remoteAddress); device.connectGatt(context, false, gattCb);

唯一发生的事情是,从BluetoothGattCallback调用 onConnectionStateChange(BluetoothGatt gatt, int status, int newState) 函数调用只是为了通知我设备已断开连接 .

我错过了什么?