【发布时间】:2014-10-16 11:36:19
【问题描述】:
我有一个完整的应用程序,可以连接到我们制作的自定义蓝牙外围设备。 但是,我刚刚发现该应用程序存在无法确定的问题。
我在Service 中运行我的所有蓝牙操作,有时当我希望蓝牙操作结束时,我最终仍然连接了 1 个外围设备,但我丢失了所有指向它的指针。并且不时地整个蓝牙堆栈似乎被锁定并且需要重新启动手机。
我认为在我停止扫描后尝试清理任何连接的设备时会出现问题。 我有这个清理方法
private void clearAllDevices() {
Log.e(TAG, "Clear all devices");
for (int i = 0; i < _connectedPeripherals.size(); i++) {
Log.e(TAG, "int i:" + i + " _connectedPeripherals size:" + _connectedPeripherals.size());
BluetoothGatt gatt = (BluetoothGatt) _connectedPeripherals.get(i);
gatt.disconnect();
}
}
但是我认为有时外围设备在连接到一半的同时断开与所有连接的连接。
有没有更好的方法来清除所有连接的设备或正在连接的设备?
【问题讨论】:
标签: android bluetooth bluetooth-lowenergy android-bluetooth