Android 断开与连接的可编程设备的连接';关贸总协定服务器

Android 断开与连接的可编程设备的连接';关贸总协定服务器,android,android-bluetooth,gatt,Android,Android Bluetooth,Gatt,我在我的应用程序的一个区域连接到BLE设备的GATT服务器,我想在我的应用程序的另一个区域断开与该设备的连接。问题是,当我想断开连接时,我不再有权访问BluetoothGatt客户机对象(该对象具有disconnect()方法)。是否有任何方法可以在不引用BluetoothGatt的情况下断开与BLE设备的连接?我将编写您自己的基本抽象层。在最简单的情况下,它可以是一个类和一个实例,您有一些全局引用。真正基本的存根示例: public class MyBleWrapper { priva

我在我的应用程序的一个区域连接到BLE设备的GATT服务器,我想在我的应用程序的另一个区域断开与该设备的连接。问题是,当我想断开连接时,我不再有权访问
BluetoothGatt
客户机对象(该对象具有
disconnect()
方法)。是否有任何方法可以在不引用BluetoothGatt的情况下断开与BLE设备的连接?

我将编写您自己的基本抽象层。在最简单的情况下,它可以是一个类和一个实例,您有一些全局引用。真正基本的存根示例:

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将开始发现所有的怪癖和bug。最好把它们藏在干净的界面后面