断开与已连接的BLE设备的GATT服务器的连接

时间:2014-11-10 17:02:26

标签: android android-bluetooth gatt

我在我的应用的一个区域连接到BLE设备的GATT服务器,我想在我的应用的其他区域与设备断开连接。问题是,当我想断开连接时,我无法再访问BluetoothGatt客户端对象(具有disconnect()方法)。有没有办法在没有引用BluetoothGatt的情况下断开与BLE设备的连接?

1 个答案:

答案 0 :(得分:2)

我会编写自己的基本抽象层。最简单的是,它可以是一个具有一个实例的类,您可以对其进行全局引用。真正基本的存根示例:

public class MyBleWrapper
{
    private static MyBleWrapper s_instance = new MyBleWrapper();

    private BluetoothDevice m_device;
    private BluetoothGatt m_gatt;

    public static MyBleWrapper getInstance()
    {
        return s_instance;
    }
}

然后,您将添加可在connect()成员上运行的disconnect()m_gatt等各种方法。不管怎样,编写自己的抽象层是一个好主意,因为您将开始使用Android BLE发现所有的怪癖和错误。把它们放在一个干净的界面后面是最好的。