1

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

4

1 回答 1

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

于 2014-11-13T18:58:02.143 回答