BluetoothGatt Class

Definition

Public API for the Bluetooth GATT Profile.

[Android.Runtime.Register("android/bluetooth/BluetoothGatt", DoNotGenerateAcw=true)]
public sealed class BluetoothGatt : Java.Lang.Object, Android.Bluetooth.IBluetoothProfile, IDisposable
[<Android.Runtime.Register("android/bluetooth/BluetoothGatt", DoNotGenerateAcw=true)>]
type BluetoothGatt = class
    inherit Object
    interface IBluetoothProfile
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Inheritance
BluetoothGatt
Attributes
Implements

Remarks

Public API for the Bluetooth GATT Profile.

This class provides Bluetooth GATT functionality to enable communication with Bluetooth Smart or Smart Ready devices.

To connect to a remote peripheral device, create a BluetoothGattCallback and call BluetoothDevice#connectGatt to get a instance of this class. GATT capable devices can be discovered using the Bluetooth device discovery or BLE scan process.

Java documentation for android.bluetooth.BluetoothGatt.

Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.

Fields

Name Description
ConnectionPriorityBalanced
Obsolete.

Connection parameter update - Use the connection parameters recommended by the Bluetooth SIG.

ConnectionPriorityDck
Obsolete.

Connection parameter update - Request the priority preferred for Digital Car Key for a lower latency connection.

ConnectionPriorityHigh
Obsolete.

Connection parameter update - Request a high priority, low latency connection.

ConnectionPriorityLowPower
Obsolete.

Connection parameter update - Request low power, reduced data rate connection parameters.

GattConnectionCongested
Obsolete.

A remote device connection is congested.

GattConnectionTimeout
Obsolete.

GATT connection timed out, likely due to the remote device being out of range or not advertising as connectable.

GattFailure
Obsolete.

A GATT operation failed, errors other than the above

GattInsufficientAuthentication
Obsolete.

Insufficient authentication for a given operation

GattInsufficientAuthorization
Obsolete.

Insufficient authorization for a given operation

GattInsufficientEncryption
Obsolete.

Insufficient encryption for a given operation

GattInvalidAttributeLength
Obsolete.

A write operation exceeds the maximum length of the attribute

GattInvalidOffset
Obsolete.

A read or write operation was requested with an invalid offset

GattReadNotPermitted
Obsolete.

GATT read operation is not permitted

GattRequestNotSupported
Obsolete.

The given request is not supported

GattSuccess
Obsolete.

A GATT operation completed successfully

GattWriteNotPermitted
Obsolete.

GATT write operation is not permitted

SubrateModeBalanced
Obsolete.

Connection subrate mode - Balanced.

SubrateModeHigh
Obsolete.

Connection subrate mode - High.

SubrateModeLow
Obsolete.

Connection Subrate mode - Low

SubrateModeNotUpdated
Obsolete.

Connection Subrate mode - No Update applied due to error.

SubrateModeOff
Obsolete.

Connection Subrate mode - Off

SubrateModeSystemUpdate
Obsolete.

Connection Subrate mode - System Update.

Properties

Name Description
Class

Returns the runtime class of this Object.

(Inherited from Object)
ConnectedDevices

This member is deprecated.

Device

Return the remote bluetooth device this GATT client targets to

Handle

The handle to the underlying Android instance.

(Inherited from Object)
JniIdentityHashCode

Gets the identity hash code assigned to this Java peer by the interop runtime.

(Inherited from Object)
JniManagedPeerState (Inherited from JavaObject)
JniPeerMembers
PeerReference

Gets the JNI object reference for this Java peer.

(Inherited from Object)
Services

Returns a list of GATT services offered by the remote device.

ThresholdClass

This API supports the Mono for Android infrastructure and is not intended to be used directly from your code.

(Inherited from Object)
ThresholdType

This API supports the Mono for Android infrastructure and is not intended to be used directly from your code.

(Inherited from Object)

Methods

Name Description
AbortReliableWrite()

Cancels a reliable write transaction for a given device.

AbortReliableWrite(BluetoothDevice)
Obsolete.

This member is deprecated.

BeginReliableWrite()

Initiates a reliable write transaction for a given remote device.

Clone()

Creates and returns a copy of this object.

(Inherited from Object)
Close()

Close this Bluetooth GATT client.

Connect()

Connect back to remote device.

Construct(JniObjectReference, JniObjectReferenceOptions) (Inherited from JavaObject)
Disconnect()

Disconnects an established connection, or cancels a connection attempt currently in progress.

DiscoverServices()

Discovers services offered by a remote device as well as their characteristics and descriptors.

Dispose()

Releases the resources held by this Java peer.

(Inherited from Object)
Dispose(Boolean)

Releases the resources held by this Java peer.

(Inherited from Object)
DisposeUnlessReferenced() (Inherited from JavaObject)
Equals(Object) (Inherited from JavaObject)
Equals(Object)

Indicates whether some other object is "equal to" this one.

(Inherited from Object)
ExecuteReliableWrite()

Executes a reliable write transaction for a given remote device.

GetConnectionState(BluetoothDevice)

This member is deprecated.

GetDevicesMatchingConnectionStates(ProfileState[])

This member is deprecated.

GetHashCode()

Returns a hash code value for the object.

(Inherited from Object)
GetService(UUID)

Returns a BluetoothGattService, if the requested UUID is supported by the remote device.

JavaFinalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

(Inherited from Object)
Notify()

Wakes up a single thread that is waiting on this object's monitor.

(Inherited from Object)
NotifyAll()

Wakes up all threads that are waiting on this object's monitor.

(Inherited from Object)
ReadCharacteristic(BluetoothGattCharacteristic)

Reads the requested characteristic from the associated remote device.

ReadDescriptor(BluetoothGattDescriptor)

Reads the value for a given descriptor from the associated remote device.

ReadPhy()

Read the current transmitter PHY and receiver PHY of the connection.

ReadRemoteRssi()

Read the RSSI for a connected remote device.

RequestConnectionPriority(GattConnectionPriority)

Request a connection parameter update.

RequestMtu(Int32)

Request an MTU size used for a given connection.

RequestSubrateMode(Int32)

Request LE subrate mode.

SetCharacteristicNotification(BluetoothGattCharacteristic, Boolean)

Enable or disable notifications/indications for a given characteristic.

SetHandle(IntPtr, JniHandleOwnership)

Sets the Handle property.

(Inherited from Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions) (Inherited from JavaObject)
SetPreferredPhy(BluetoothPhy, BluetoothPhy, BluetoothPhyOption)

Set the preferred connection PHY for this app.

ToArray<T>()

Creates a managed array from this Java array wrapper.

(Inherited from Object)
ToString()

Returns a string representation of the object.

(Inherited from Object)
UnregisterFromRuntime()

Unregisters this Java peer from the interop runtime.

(Inherited from Object)
Wait()

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>.

(Inherited from Object)
Wait(Int64, Int32)

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed.

(Inherited from Object)
Wait(Int64)

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed.

(Inherited from Object)
WriteCharacteristic(BluetoothGattCharacteristic, Byte[], Int32)

Writes a given characteristic and its values to the associated remote device.

WriteCharacteristic(BluetoothGattCharacteristic)

Writes a given characteristic and its values to the associated remote device.

WriteDescriptor(BluetoothGattDescriptor, Byte[])

Write the value of a given descriptor to the associated remote device.

WriteDescriptor(BluetoothGattDescriptor)

Write the value of a given descriptor to the associated remote device.

Explicit Interface Implementations

Name Description
IJavaPeerable.Disposed() (Inherited from JavaObject)
IJavaPeerable.Finalized() (Inherited from JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock (Inherited from JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32) (Inherited from JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) (Inherited from JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference) (Inherited from JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Extension Methods

Name Description
GetJniTypeName(IJavaPeerable)

Gets the JNI name of the type of the instance self.

JavaAs<TResult>(IJavaPeerable)

Try to coerce self to type TResult, checking that the coercion is valid on the Java side.

JavaCast<TResult>(IJavaObject)

Performs an Android runtime-checked type conversion.

JavaCast<TResult>(IJavaObject)
TryJavaCast<TResult>(IJavaPeerable, TResult)

Try to coerce self to type TResult, checking that the coercion is valid on the Java side.

Applies to