summaryrefslogtreecommitdiffstats
path: root/core/java/android/bluetooth/BluetoothAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/bluetooth/BluetoothAdapter.java')
-rw-r--r--core/java/android/bluetooth/BluetoothAdapter.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/core/java/android/bluetooth/BluetoothAdapter.java b/core/java/android/bluetooth/BluetoothAdapter.java
index 28bc424..264db19 100644
--- a/core/java/android/bluetooth/BluetoothAdapter.java
+++ b/core/java/android/bluetooth/BluetoothAdapter.java
@@ -774,6 +774,31 @@ public final class BluetoothAdapter {
}
/**
+ * Get the current connection state of a profile.
+ * This function can be used to check whether the local Bluetooth adapter
+ * is connected to any remote device for a specific profile.
+ * Profile can be one of {@link BluetoothProfile.HEADSET},
+ * {@link BluetoothProfile.A2DP}.
+ *
+ * <p>Requires {@link android.Manifest.permission#BLUETOOTH}.
+ *
+ * <p> Return value can be one of
+ * {@link * BluetoothProfile.STATE_DISCONNECTED},
+ * {@link * BluetoothProfile.STATE_CONNECTING},
+ * {@link * BluetoothProfile.STATE_CONNECTED},
+ * {@link * BluetoothProfile.STATE_DISCONNECTING}
+ * @hide
+ */
+ public int getProfileConnectionState(int profile) {
+ if (getState() != STATE_ON) return BluetoothProfile.STATE_DISCONNECTED;
+ try {
+ return mService.getProfileConnectionState(profile);
+ } catch (RemoteException e) {Log.e(TAG, "getProfileConnectionState:", e);}
+ return BluetoothProfile.STATE_DISCONNECTED;
+ }
+
+ /**
+ /**
* Picks RFCOMM channels until none are left.
* Avoids reserved channels.
*/