我正在尝试构建一个Android应用程序,它充当BLE外围设备,也充当GATT客户端。
这些是我想要实现的步骤:
Android设备开始宣传自己。第二个设备开始扫描,一旦检测到Android设备,它就会启动连接。
Android设备充当GATT客户端并尝试连接到服务器设备。
第一步似乎工作正常,我能够做广告,其他设备(在我的情况下是Bluegiga Evalboard)能够看到Android设备并且可以建立连接。
但是我如何在Android设备上通知可以建立连接以调用函数device.connectGatt(context, false, gattCb)
以连接到GATT服务器?
我也在开始播放后通过获取远程设备来尝试它。
BluetoothDevice device = bleAdapter.getRemoteDevice(remoteAddress);
device.connectGatt(context, false, gattCb);
唯一发生的事情是,来自BluetoothGattCallback的onConnectionStateChange(BluetoothGatt gatt, int status, int newState)
函数被调用,只是为了通知我设备已断开连接。
我错过了什么?
答案 0 :(得分:0)
我建议在广告期过后尝试使用您的 getBondedDevices
中的 BluetoothAdapter
方法,而不是像您那样使用 getRemoteDevice
方法。