@Override protected void onDestroy() { if (mGatt == null) { return; } mGatt.close(); mGatt = null; super.onDestroy(); }
public void disconnect() { connectCallback = null; connected = false; if (gatt != null) { gatt.close(); gatt = null; Log.d(LOG_TAG, "Disconnect"); WritableMap map = Arguments.createMap(); map.putString("peripheral", device.getAddress()); sendEvent("BleManagerDisconnectPeripheral", map); } else Log.d(LOG_TAG, "GATT is null"); }
@Override public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) { Log.d( LOG_TAG, "onConnectionStateChange da " + status + " a " + newState + " peripheral:" + device.getAddress()); this.gatt = gatt; if (newState == BluetoothGatt.STATE_CONNECTED) { connected = true; gatt.discoverServices(); } else if (newState == BluetoothGatt.STATE_DISCONNECTED) { if (connected) { connected = false; if (gatt != null) { gatt.close(); gatt = null; } WritableMap map = Arguments.createMap(); map.putString("peripheral", device.getAddress()); sendEvent("BleManagerDisconnectPeripheral", map); Log.d(LOG_TAG, "BleManagerDisconnectPeripheral peripheral:" + device.getAddress()); } if (connectFailCallback != null) { connectFailCallback.invoke(); connectFailCallback = null; connectCallback = null; } } }