Core Ultra Wideband (UWB)

  
Implement UWB (ultra-wideband) on supported devices.
Latest Update Stable Release Release Candidate Beta Release Alpha Release
December 11, 2024 - - - 1.0.0-alpha10

Declaring dependencies

To add a dependency on core, you must add the Google Maven repository to your project. Read Google's Maven repository for more information.

Add the dependencies for the artifacts you need in the build.gradle file for your app or module:

Groovy

dependencies {
    // Use to implement UWB (ultra-wideband) on supported devices
    implementation "androidx.core.uwb:uwb:1.0.0-alpha10"
}

Kotlin

dependencies {
    // Use to implement UWB (ultra-wideband) on supported devices
    implementation("androidx.core.uwb:uwb:1.0.0-alpha10")
}

For more information about dependencies, see Add build dependencies.

Feedback

Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues in this library before you create a new one. You can add your vote to an existing issue by clicking the star button.

Create a new issue

See the Issue Tracker documentation for more information.

Version 1.0

Version 1.0.0-alpha10

December 11, 2024

androidx.core.uwb:uwb:1.0.0-alpha10 and androidx.core.uwb:uwb-rxjava3:1.0.0-alpha10 are released. Version 1.0.0-alpha10 contains these commits.

API Changes

  • Adds reason code STATE_CHANGE_REASON_UNKNOWN, STATE_CHANGE_REASON_SYSTEM_POLICY and STATE_CHANGE_REASON_COUNTRY_CODE_ERROR for UWB state change. (I43e36)
  • Add new API RangingResult#RangingResultInitialized to send event when a ranging session is initialized. (I386bb)
  • Add new APIs subscribeToUwbAvailability(observer: UwbAvailabilityCallback) and unsubscribeFromUwbAvailability() to listener to the UWB state change event. Add new interface UwbAvailabilityCallback for user to define callback function when a UWB state change event is observed. (I37191).

Version 1.0.0-alpha09

October 16, 2024

androidx.core.uwb:uwb:1.0.0-alpha09 and androidx.core.uwb:uwb-rxjava3:1.0.0-alpha09 are released. Version 1.0.0-alpha09 contains these commits.

API Changes

  • Adds new API isAvailable() to check UWB availability. (If6fc6)
  • Adds new API addControleeWithSessionParams to support add controlee p-sts individual key case. (Ie7849)

Version 1.0.0-alpha08

January 24, 2024

androidx.core.uwb:uwb:1.0.0-alpha08 and androidx.core.uwb:uwb-rxjava3:1.0.0-alpha08 are released. Version 1.0.0-alpha08 contains these commits.

API Changes

  • Adds new capabilities and parameters to allow 3p app to set ranging interval, slot duration and enable/disable AoA. Adds new API to support reconfiguration of ranging interval and range data notification. (Iebd18)

Version 1.0.0-alpha07

August 23, 2023

androidx.core.uwb:uwb:1.0.0-alpha07 and androidx.core.uwb:uwb-rxjava3:1.0.0-alpha07 are released. Version 1.0.0-alpha07 contains these commits.

Bug Fixes

  • Fixed an issue that AOSP backend is not used when CN devices has Google Play Services installed.

Version 1.0.0-alpha06

July 26, 2023

androidx.core.uwb:uwb:1.0.0-alpha06 and androidx.core.uwb:uwb-rxjava3:1.0.0-alpha06 are released. Version 1.0.0-alpha06 contains these commits.

New Features

  • Add support for Provisioned STS. Now the users can choose Provisioned STS for UWB ranging if the device is capable of Provisioned STS. (I19812)

API Changes

  • Add subSessionId and subSessionKeyInfo to rangingParameters. Add new config ids to support Provisioned STS. (I19812)
  • Merged public and experimental API files for a,b,c-paths (I8cfee, b/278769092)
  • N/A, API file changes are just reordering methods (I5fa95)
  • Migrated androidx.core group to use merged public API files (Ifdef4, b/278769092)
  • Add minRangingInterval, supportedChannels and supportedConfigIds to rangingCapabilities as new fields. (I2a204)

Bug Fixes

  • Fix the issue that the UWB client cannot be created in non-gms area.

Version 1.0.0-alpha05

April 5, 2023

androidx.core.uwb:uwb:1.0.0-alpha05 and androidx.core.uwb:uwb-rxjava3:1.0.0-alpha05 are released. Version 1.0.0-alpha05 contains these commits.

API Changes

  • Rename RangingParameters#CONFIG_ID_1 to CONFIG_UNICAST_DS_TWR.
  • Add a new config id RangingParameters#CONFIG_MULTICAST_DS_TWR. (I2f1b7)

Bug Fixes

  • Fix a bug that users cannot start multiple ranging sessions in parallel.

Version 1.0.0-alpha04

December 7, 2022

androidx.core.uwb:uwb:1.0.0-alpha04 and androidx.core.uwb:uwb-rxjava3:1.0.0-alpha04 are released. Version 1.0.0-alpha04 contains these commits.

New Features

  • When there's no GMS support, AndroidX API will try to use the AOSP UWB backend service that are distributed to OEMs via AOSP platform.(532de0)

API Changes

  • Adding @JvmDefaultWithCompatibility annotation (I8f206)

Version 1.0.0-alpha03

August 10, 2022

androidx.core.uwb:uwb:1.0.0-alpha03 and androidx.core.uwb:uwb-rxjava3:1.0.0-alpha03 are released. Version 1.0.0-alpha03 contains these commits.

New Features

  • Introducing a new ranging profile, Controller. UWB devices with Controller profile can determine the ranging channel two devices will range with.

API Changes

  • Adding controller support for UWB (I52a71)

Version 1.0.0-alpha02

June 29, 2022

androidx.core.uwb:uwb-rxjava3:1.0.0-alpha02 is released. Version 1.0.0-alpha02 contains these commits.

New Features

  • Introducing a java interoperable artifact for the uwb module. The new artifact depends on rxjava3 and will be consumable for java clients.

Version 1.0.0-alpha02

June 15, 2022

androidx.core.uwb:uwb:1.0.0-alpha02 is released. Version 1.0.0-alpha02 contains these commits.

New Features

  • Introducing a public UWB_CONFIG_ID_1

API Changes

  • Distance of RangingResultPosition is now nullable

Version 1.0.0-alpha01

June 1, 2022

androidx.core.uwb:uwb:1.0.0-alpha01 is released. Version 1.0.0-alpha01 contains these commits.

New Features

  • The UWB library provides a set of APIs for developers to interact with UWB-enabled devices. The use-case will be limited to partnered devices which already assume the Controller profile of UWB ranging sessions, with the support for Controller profile planned in the near future. Two top level API surfaces are included in this initial release, UwbManager and UwbClientSessionScope.