diff options
| author | Matthew Xie <mattx@google.com> | 2013-03-28 23:04:47 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-03-28 23:04:48 +0000 |
| commit | ee0032bacbe11ee3b62402a65f79ea897cbd7e95 (patch) | |
| tree | 2ceb844a6fbe2fca8ed265c69a8906fcaed0b53b /framework/java/android/bluetooth/BluetoothDevice.java | |
| parent | 2ea9840cd3b8c0fe3e397e968e742669c23e3540 (diff) | |
| parent | 9afa274491ca272dc30f6f6211ef2719b7a2226e (diff) | |
Merge "Unhide Bluetooth Low Energy public APIs" into jb-mr2-dev
Diffstat (limited to 'framework/java/android/bluetooth/BluetoothDevice.java')
| -rw-r--r-- | framework/java/android/bluetooth/BluetoothDevice.java | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/framework/java/android/bluetooth/BluetoothDevice.java b/framework/java/android/bluetooth/BluetoothDevice.java index 4cc22b4ae9..83e95ca9b9 100644 --- a/framework/java/android/bluetooth/BluetoothDevice.java +++ b/framework/java/android/bluetooth/BluetoothDevice.java @@ -18,6 +18,7 @@ package android.bluetooth; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; +import android.content.Context; import android.os.IBinder; import android.os.Parcel; import android.os.Parcelable; @@ -1126,4 +1127,30 @@ public final class BluetoothDevice implements Parcelable { return pinBytes; } + /** + * Connect to GATT Server hosted by this device. Caller acts as GATT client. + * The callback is used to deliver results to Caller, such as connection status as well + * as any further GATT client operations. + * The method returns a BluetoothGatt instance. You can use BluetoothGatt to conduct + * GATT client operations. + * @param callback GATT callback handler that will receive asynchronous callbacks. + * @param autoConnect Whether to directly connect to the remote device (false) + * or to automatically connect as soon as the remote + * device becomes available (true). + * @throws IllegalArgumentException if callback is null + */ + public BluetoothGatt connectGattServer(Context context, boolean autoConnect, + BluetoothGattCallback callback) { + // TODO(Bluetooth) check whether platform support BLE + // Do the check here or in GattServer? + BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter(); + IBluetoothManager managerService = adapter.getBluetoothManager(); + try { + IBluetoothGatt iGatt = managerService.getBluetoothGatt(); + BluetoothGatt gatt = new BluetoothGatt(context, iGatt, this); + gatt.connect(autoConnect, callback); + return gatt; + } catch (RemoteException e) {Log.e(TAG, "", e);} + return null; + } } |
