【发布时间】:2014-11-10 17:02:26
【问题描述】:
我在我的应用程序的一个区域连接到 BLE 设备的 GATT 服务器,我想在我的应用程序的另一个区域断开与设备的连接。问题是当我想断开连接时,我不再能够访问BluetoothGatt 客户端对象(它具有disconnect() 方法)。有什么方法可以在不参考BluetoothGatt 的情况下断开与 BLE 设备的连接?
【问题讨论】:
标签: android android-bluetooth gatt
我在我的应用程序的一个区域连接到 BLE 设备的 GATT 服务器,我想在我的应用程序的另一个区域断开与设备的连接。问题是当我想断开连接时,我不再能够访问BluetoothGatt 客户端对象(它具有disconnect() 方法)。有什么方法可以在不参考BluetoothGatt 的情况下断开与 BLE 设备的连接?
【问题讨论】:
标签: android android-bluetooth gatt
我会编写您自己的基本抽象层。在最简单的情况下,它可以是一个类和一个您有一些全局引用的实例。非常基本的存根示例:
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 发现所有怪癖和错误。最好将它们隐藏在干净的界面后面。
【讨论】: