From cb1d354c1e9b458a0426cd08520d938012e32b34 Mon Sep 17 00:00:00 2001 From: Jaikumar Ganesh Date: Fri, 19 Aug 2011 10:26:32 -0700 Subject: Add Api to get profile connection state. This gets the current connection state of the profile with respect to the local Bluetooth adapter. Change-Id: I7cff6c9201d29a8b45413cff7384b7483f21bd5c --- core/java/android/bluetooth/BluetoothAdapter.java | 25 +++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'core/java/android/bluetooth/BluetoothAdapter.java') 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}. + * + *

Requires {@link android.Manifest.permission#BLUETOOTH}. + * + *

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. */ -- cgit v1.1