我在我的应用的一个区域连接到BLE设备的GATT服务器,我想在我的应用的其他区域与设备断开连接。问题是,当我想断开连接时,我无法再访问BluetoothGatt
客户端对象(具有disconnect()
方法)。有没有办法在没有引用BluetoothGatt
的情况下断开与BLE设备的连接?
答案 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发现所有的怪癖和错误。把它们放在一个干净的界面后面是最好的。