From 174928c0aaf020de4514a5c02799299c6e56e4c0 Mon Sep 17 00:00:00 2001 From: Jay Civelli Date: Thu, 8 May 2014 09:24:08 -0700 Subject: [PATCH] Adding a method to know if there is a connection to a BluetoothDevice. Adding a new method to BluetoothDevice that lets callers know whether a remote device is connected. Change-Id: I6f7cb99147f3cdad1d676a93183856dbb4083a06 --- .../android/bluetooth/BluetoothDevice.java | 20 +++++++++++++++++++ core/java/android/bluetooth/IBluetooth.aidl | 1 + 2 files changed, 21 insertions(+) diff --git a/core/java/android/bluetooth/BluetoothDevice.java b/core/java/android/bluetooth/BluetoothDevice.java index 7f8d0aba7b020..64d80a066c8c7 100644 --- a/core/java/android/bluetooth/BluetoothDevice.java +++ b/core/java/android/bluetooth/BluetoothDevice.java @@ -873,6 +873,26 @@ public final class BluetoothDevice implements Parcelable { return BOND_NONE; } + /** + * Returns whether there is an open connection to this device. + *

Requires {@link android.Manifest.permission#BLUETOOTH}. + * + * @return True if there is at least one open connection to this device. + * @hide + */ + public boolean isConnected() { + if (sService == null) { + // BT is not enabled, we cannot be connected. + return false; + } + try { + return sService.isConnected(this); + } catch (RemoteException e) { + Log.e(TAG, "", e); + return false; + } + } + /** * Get the Bluetooth class of the remote device. *

Requires {@link android.Manifest.permission#BLUETOOTH}. diff --git a/core/java/android/bluetooth/IBluetooth.aidl b/core/java/android/bluetooth/IBluetooth.aidl index 07db8cc9c18af..a45c6b8d55bd9 100644 --- a/core/java/android/bluetooth/IBluetooth.aidl +++ b/core/java/android/bluetooth/IBluetooth.aidl @@ -58,6 +58,7 @@ interface IBluetooth boolean cancelBondProcess(in BluetoothDevice device); boolean removeBond(in BluetoothDevice device); int getBondState(in BluetoothDevice device); + boolean isConnected(in BluetoothDevice device); String getRemoteName(in BluetoothDevice device); int getRemoteType(in BluetoothDevice device);