diff --git a/android-lib/src/main/java/io/v/android/impl/google/discovery/plugins/ble/BlePlugin.java b/android-lib/src/main/java/io/v/android/impl/google/discovery/plugins/ble/BlePlugin.java
index a96b1a8..e839716 100644
--- a/android-lib/src/main/java/io/v/android/impl/google/discovery/plugins/ble/BlePlugin.java
+++ b/android-lib/src/main/java/io/v/android/impl/google/discovery/plugins/ble/BlePlugin.java
@@ -74,7 +74,7 @@
     private final Context androidContext;
 
     // Set of Ble objects that will be interacted with to perform operations.
-    private BluetoothLeAdvertiser bluetoothLeAdvertise;
+    private BluetoothLeAdvertiser bluetoothLeAdvertiser;
     private BluetoothLeScanner bluetoothLeScanner;
     private BluetoothGattServer bluetoothGattServer;
 
@@ -105,7 +105,7 @@
             throw new IllegalStateException("No permission on BluetoothAdapter");
         }
 
-        bluetoothLeAdvertise = bluetoothAdapter.getBluetoothLeAdvertiser();
+        bluetoothLeAdvertiser = bluetoothAdapter.getBluetoothLeAdvertiser();
         bluetoothLeScanner = bluetoothAdapter.getBluetoothLeScanner();
         BluetoothManager manager =
                 (BluetoothManager) androidContext.getSystemService(Context.BLUETOOTH_SERVICE);
@@ -185,6 +185,10 @@
         }
     }
 
+    public void close() {
+        bluetoothGattServer.close();
+    }
+
     private long genStamp() {
         // We use 8-byte stamp to reflect the current services of the current device.
         //
@@ -196,7 +200,7 @@
 
     private void updateAdvertising() {
         if (advertiseCallback != null) {
-            bluetoothLeAdvertise.stopAdvertising(advertiseCallback);
+            bluetoothLeAdvertiser.stopAdvertising(advertiseCallback);
             advertiseCallback = null;
         }
         if (advertisements.size() == 0) {
@@ -223,7 +227,7 @@
                         Log.e(TAG, "failed to start advertising " + errorCode);
                     }
                 };
-        bluetoothLeAdvertise.startAdvertising(
+        bluetoothLeAdvertiser.startAdvertising(
                 settingsBuilder.build(), builder.build(), advertiseCallback);
     }
 
diff --git a/lib/src/main/java/io/v/impl/google/lib/discovery/Plugin.java b/lib/src/main/java/io/v/impl/google/lib/discovery/Plugin.java
index 93219ab..8929a8d 100644
--- a/lib/src/main/java/io/v/impl/google/lib/discovery/Plugin.java
+++ b/lib/src/main/java/io/v/impl/google/lib/discovery/Plugin.java
@@ -64,4 +64,11 @@
      * @throws Exception    if scanning couldn't be started
      */
     void stopScan(ScanHandler handler) throws Exception;
+
+    /**
+     * Closes the plugin.
+     * <p>
+     * This will be called after all active tasks have been cancelled.
+     */
+    void close();
 }
