# UwbAvailabilityCallback

Artifact: [androidx.core.uwb:uwb](https://developer.android.com/jetpack/androidx/releases/core-uwb) [View Source](https://cs.android.com/search?q=file:androidx/core/uwb/UwbAvailabilityCallback.kt+class:androidx.core.uwb.UwbAvailabilityCallback) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core-uwb#1.0.0)

*** ** * ** ***


```
public interface UwbAvailabilityCallback
```

<br />

*** ** * ** ***

Callback used for UWB availability.

## Summary

| ### Constants |
|---|---|
| `default static final int` | `https://developer.android.com/reference/androidx/core/uwb/UwbAvailabilityCallback#STATE_CHANGE_REASON_COUNTRY_CODE_ERROR() = 2` The state has changed either because no country code has been configured or due to UWB being unavailable as a result of regulatory constraints. |
| `default static final int` | `https://developer.android.com/reference/androidx/core/uwb/UwbAvailabilityCallback#STATE_CHANGE_REASON_SYSTEM_POLICY() = 1` The state has changed because UWB is turned on/off |
| `default static final int` | `https://developer.android.com/reference/androidx/core/uwb/UwbAvailabilityCallback#STATE_CHANGE_REASON_UNKNOWN() = 0` The state has changed because of an unknown reason |

| ### Public methods |
|---|---|
| `abstract void` | `https://developer.android.com/reference/androidx/core/uwb/UwbAvailabilityCallback#onUwbStateChanged(kotlin.Boolean,kotlin.Int)(boolean isAvailable, int reason)` Callback when the UWB state is changed |

## Constants

### STATE_CHANGE_REASON_COUNTRY_CODE_ERROR

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core-uwb#1.0.0)

```
default static final int STATE_CHANGE_REASON_COUNTRY_CODE_ERROR = 2
```

The state has changed either because no country code has been configured or due to UWB being unavailable as a result of regulatory constraints.

### STATE_CHANGE_REASON_SYSTEM_POLICY

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core-uwb#1.0.0)

```
default static final int STATE_CHANGE_REASON_SYSTEM_POLICY = 1
```

The state has changed because UWB is turned on/off

### STATE_CHANGE_REASON_UNKNOWN

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core-uwb#1.0.0)

```
default static final int STATE_CHANGE_REASON_UNKNOWN = 0
```

The state has changed because of an unknown reason

## Public methods

### onUwbStateChanged

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core-uwb#1.0.0)

```
abstract void onUwbStateChanged(boolean isAvailable, int reason)
```

Callback when the UWB state is changed

| Parameters |
|---|---|
| `boolean isAvailable` | True if UWB is switched on, false otherwise |
| `int reason` | The reason of UWB state change. Possible reasons are `https://developer.android.com/reference/androidx/core/uwb/UwbAvailabilityCallback#STATE_CHANGE_REASON_UNKNOWN()`, `https://developer.android.com/reference/androidx/core/uwb/UwbAvailabilityCallback#STATE_CHANGE_REASON_SYSTEM_POLICY()` and `https://developer.android.com/reference/androidx/core/uwb/UwbAvailabilityCallback#STATE_CHANGE_REASON_COUNTRY_CODE_ERROR()` Value is one of the following: - `0` - `1` - `2` <br /> |