Android设备作为BLE外设和GATT客户端

时间:2016-09-16 12:17:00

标签: android bluetooth-lowenergy

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

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

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

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

  3. 第一步似乎工作正常,我能够做广告,其他设备(在我的情况下是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)函数被调用,只是为了通知我设备已断开连接。

    我错过了什么?

1 个答案:

答案 0 :(得分:0)

我建议在广告期过后尝试使用您的 getBondedDevices 中的 BluetoothAdapter 方法,而不是像您那样使用 getRemoteDevice 方法。