# BluetoothHealthCallback

Added in[API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Deprecated in[API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Summary:[Ctors](https://developer.android.com/reference/android/bluetooth/BluetoothHealthCallback#pubctors)\|[Methods](https://developer.android.com/reference/android/bluetooth/BluetoothHealthCallback#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/bluetooth/BluetoothHealthCallback#inhmethods)  

# BluetoothHealthCallback

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/bluetooth/BluetoothHealthCallback "View this page in Kotlin")\|Java

`
public


abstract
class
BluetoothHealthCallback
`  
`

extends `[Object](https://developer.android.com/reference/java/lang/Object)`


``


`

|---|-------------------------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.bluetooth.BluetoothHealthCallback |

<br />

*** ** * ** ***

<br />

**This class was deprecated in API level 29.**   
Health Device Profile (HDP) and MCAP protocol are no longer used. New apps should use Bluetooth Low Energy based solutions such as[BluetoothGatt](https://developer.android.com/reference/android/bluetooth/BluetoothGatt),[BluetoothAdapter.listenUsingL2capChannel()](https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#listenUsingL2capChannel()), or[BluetoothDevice.createL2capChannel(int)](https://developer.android.com/reference/android/bluetooth/BluetoothDevice#createL2capChannel(int))

This abstract class is used to implement[BluetoothHealth](https://developer.android.com/reference/android/bluetooth/BluetoothHealth)callbacks.

## Summary

|                                                              ### Public constructors                                                              ||
|------------------------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[BluetoothHealthCallback](https://developer.android.com/reference/android/bluetooth/BluetoothHealthCallback#BluetoothHealthCallback())`() ` |

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ### Public methods                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ||
|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` void` | ` `[onHealthAppConfigurationStatusChange](https://developer.android.com/reference/android/bluetooth/BluetoothHealthCallback#onHealthAppConfigurationStatusChange(android.bluetooth.BluetoothHealthAppConfiguration,%20int))`(`[BluetoothHealthAppConfiguration](https://developer.android.com/reference/android/bluetooth/BluetoothHealthAppConfiguration)` config, int status) ` *This method is deprecated. Health Device Profile (HDP) and MCAP protocol are no longer used. New apps should use Bluetooth Low Energy based solutions such as[BluetoothGatt](https://developer.android.com/reference/android/bluetooth/BluetoothGatt),[BluetoothAdapter.listenUsingL2capChannel()](https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#listenUsingL2capChannel()), or[BluetoothDevice.createL2capChannel(int)](https://developer.android.com/reference/android/bluetooth/BluetoothDevice#createL2capChannel(int))*                                                                                                                                                                                                                                                                                                                |
| ` void` | ` `[onHealthChannelStateChange](https://developer.android.com/reference/android/bluetooth/BluetoothHealthCallback#onHealthChannelStateChange(android.bluetooth.BluetoothHealthAppConfiguration,%20android.bluetooth.BluetoothDevice,%20int,%20int,%20android.os.ParcelFileDescriptor,%20int))`(`[BluetoothHealthAppConfiguration](https://developer.android.com/reference/android/bluetooth/BluetoothHealthAppConfiguration)` config, `[BluetoothDevice](https://developer.android.com/reference/android/bluetooth/BluetoothDevice)` device, int prevState, int newState, `[ParcelFileDescriptor](https://developer.android.com/reference/android/os/ParcelFileDescriptor)` fd, int channelId) ` *This method is deprecated. Health Device Profile (HDP) and MCAP protocol are no longer used. New apps should use Bluetooth Low Energy based solutions such as[BluetoothGatt](https://developer.android.com/reference/android/bluetooth/BluetoothGatt),[BluetoothAdapter.listenUsingL2capChannel()](https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#listenUsingL2capChannel()), or[BluetoothDevice.createL2capChannel(int)](https://developer.android.com/reference/android/bluetooth/BluetoothDevice#createL2capChannel(int))* |

| ### Inherited methods |
|-----------------------|---|
| From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object)` ` |--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object)          | ` `[clone](https://developer.android.com/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object.                                                                                                                                                      | | ` boolean`                                                                     | ` `[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.                                           | | ` void`                                                                        | ` `[finalize](https://developer.android.com/reference/java/lang/Object#finalize())`() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.                                                          | | ` final `[Class](https://developer.android.com/reference/java/lang/Class)`<?>` | ` `[getClass](https://developer.android.com/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this`Object`.                                                                                                                                                | | ` int`                                                                         | ` `[hashCode](https://developer.android.com/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                 | | ` final void`                                                                  | ` `[notify](https://developer.android.com/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor.                                                                                                                            | | ` final void`                                                                  | ` `[notifyAll](https://developer.android.com/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor.                                                                                                                         | | ` `[String](https://developer.android.com/reference/java/lang/String)          | ` `[toString](https://developer.android.com/reference/java/lang/Object#toString())`() ` Returns a string representation of the object.                                                                                                                                            | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long,%20int))`(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed. | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long))`(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed.                   | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait())`() ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*.                                                                                             | ||

## Public constructors

### BluetoothHealthCallback

Added in[API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public BluetoothHealthCallback ()
```

<br />

<br />

## Public methods

### onHealthAppConfigurationStatusChange

Added in[API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void onHealthAppConfigurationStatusChange (BluetoothHealthAppConfiguration config, 
                int status)
```

<br />

**This method is deprecated.**   
Health Device Profile (HDP) and MCAP protocol are no longer used. New apps should use Bluetooth Low Energy based solutions such as[BluetoothGatt](https://developer.android.com/reference/android/bluetooth/BluetoothGatt),[BluetoothAdapter.listenUsingL2capChannel()](https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#listenUsingL2capChannel()), or[BluetoothDevice.createL2capChannel(int)](https://developer.android.com/reference/android/bluetooth/BluetoothDevice#createL2capChannel(int))

Callback to inform change in registration state of the health application.

This callback is called on the binder thread (not on the UI thread)

<br />

|                                                                                                                                                                                                                                                                                                                                                                             Parameters                                                                                                                                                                                                                                                                                                                                                                              ||
|----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `config` | `BluetoothHealthAppConfiguration`: Bluetooth Health app configuration <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `status` | `int`: Success or failure of the registration or unregistration calls. Can be one of[BluetoothHealth.APP_CONFIG_REGISTRATION_SUCCESS](https://developer.android.com/reference/android/bluetooth/BluetoothHealth#APP_CONFIG_REGISTRATION_SUCCESS)or[BluetoothHealth.APP_CONFIG_REGISTRATION_FAILURE](https://developer.android.com/reference/android/bluetooth/BluetoothHealth#APP_CONFIG_REGISTRATION_FAILURE)or[BluetoothHealth.APP_CONFIG_UNREGISTRATION_SUCCESS](https://developer.android.com/reference/android/bluetooth/BluetoothHealth#APP_CONFIG_UNREGISTRATION_SUCCESS)or[BluetoothHealth.APP_CONFIG_UNREGISTRATION_FAILURE](https://developer.android.com/reference/android/bluetooth/BluetoothHealth#APP_CONFIG_UNREGISTRATION_FAILURE) <br /> |

### onHealthChannelStateChange

Added in[API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void onHealthChannelStateChange (BluetoothHealthAppConfiguration config, 
                BluetoothDevice device, 
                int prevState, 
                int newState, 
                ParcelFileDescriptor fd, 
                int channelId)
```

<br />

**This method is deprecated.**   
Health Device Profile (HDP) and MCAP protocol are no longer used. New apps should use Bluetooth Low Energy based solutions such as[BluetoothGatt](https://developer.android.com/reference/android/bluetooth/BluetoothGatt),[BluetoothAdapter.listenUsingL2capChannel()](https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#listenUsingL2capChannel()), or[BluetoothDevice.createL2capChannel(int)](https://developer.android.com/reference/android/bluetooth/BluetoothDevice#createL2capChannel(int))

Callback to inform change in channel state.

It's the responsibility of the implementer of this callback to close the parcel file descriptor when done. This callback is called on the Binder thread (not the UI thread)

<br />

|                                                                Parameters                                                                ||
|-------------|-----------------------------------------------------------------------------------------------------------------------------|
| `config`    | `BluetoothHealthAppConfiguration`: The Health app configuration <br />                                                      |
| `device`    | `BluetoothDevice`: The Bluetooth Device <br />                                                                              |
| `prevState` | `int`: The previous state of the channel <br />                                                                             |
| `newState`  | `int`: The new state of the channel. <br />                                                                                 |
| `fd`        | `ParcelFileDescriptor`: The Parcel File Descriptor when the channel state is connected. <br />                              |
| `channelId` | `int`: The id associated with the channel. This id will be used in future calls like when disconnecting the channel. <br /> |