Skip to content

Bluetooth API compatibility matrix

Generated by ./gradlew generateCompatibilityMatrix from the Android SDK database platforms/android-37.0/data/api-versions.xml. Never edit by hand — re-run the task after bumping compileSdk.

since values use the platform notation: 37.0 is Android 17 and 36.1 is the 16.1 QPR release, a minor SDK version handled through SDK_INT_FULL.

Added in API 21

android.bluetooth.BluetoothAdapter

  • getBluetoothLeAdvertiser()Landroid/bluetooth/le/BluetoothLeAdvertiser; — since 21
  • getBluetoothLeScanner()Landroid/bluetooth/le/BluetoothLeScanner; — since 21
  • isMultipleAdvertisementSupported()Z — since 21
  • isOffloadedFilteringSupported()Z — since 21
  • isOffloadedScanBatchingSupported()Z — since 21

android.bluetooth.BluetoothGatt

  • requestConnectionPriority(I)Z — since 21
  • requestMtu(I)Z — since 21
  • CONNECTION_PRIORITY_BALANCED — since 21
  • CONNECTION_PRIORITY_HIGH — since 21
  • CONNECTION_PRIORITY_LOW_POWER — since 21
  • GATT_CONNECTION_CONGESTED — since 21

android.bluetooth.BluetoothGattCallback

  • onMtuChanged(Landroid/bluetooth/BluetoothGatt;II)V — since 21

android.bluetooth.BluetoothGattServerCallback

  • onNotificationSent(Landroid/bluetooth/BluetoothDevice;I)V — since 21

Added in API 22

android.bluetooth.BluetoothGattServerCallback

  • onMtuChanged(Landroid/bluetooth/BluetoothDevice;I)V — since 22

Added in API 23

android.bluetooth.BluetoothDevice

  • connectGatt(Landroid/content/Context;ZLandroid/bluetooth/BluetoothGattCallback;I)Landroid/bluetooth/BluetoothGatt; — since 23 (deprecated)
  • TRANSPORT_AUTO — since 23
  • TRANSPORT_BREDR — since 23
  • TRANSPORT_LE — since 23

android.bluetooth.BluetoothProfile

  • SAP — since 23

android.bluetooth.BluetoothSocket

  • getConnectionType()I — since 23
  • getMaxReceivePacketSize()I — since 23
  • getMaxTransmitPacketSize()I — since 23
  • TYPE_L2CAP — since 23
  • TYPE_RFCOMM — since 23
  • TYPE_SCO — since 23

android.bluetooth.le.ScanSettings

  • CALLBACK_TYPE_FIRST_MATCH — since 23
  • CALLBACK_TYPE_MATCH_LOST — since 23
  • MATCH_MODE_AGGRESSIVE — since 23
  • MATCH_MODE_STICKY — since 23
  • MATCH_NUM_FEW_ADVERTISEMENT — since 23
  • MATCH_NUM_MAX_ADVERTISEMENT — since 23
  • MATCH_NUM_ONE_ADVERTISEMENT — since 23
  • SCAN_MODE_OPPORTUNISTIC — since 23

android.bluetooth.le.ScanSettings$Builder

  • setCallbackType(I)Landroid/bluetooth/le/ScanSettings$Builder; — since 23
  • setMatchMode(I)Landroid/bluetooth/le/ScanSettings$Builder; — since 23
  • setNumOfMatches(I)Landroid/bluetooth/le/ScanSettings$Builder; — since 23

Added in API 24

android.bluetooth.BluetoothGattCharacteristic

  • CREATOR — since 24

android.bluetooth.BluetoothGattDescriptor

  • CREATOR — since 24

android.bluetooth.BluetoothGattService

  • CREATOR — since 24

Added in API 26

android.bluetooth.BluetoothAdapter

  • getLeMaximumAdvertisingDataLength()I — since 26
  • isLe2MPhySupported()Z — since 26
  • isLeCodedPhySupported()Z — since 26
  • isLeExtendedAdvertisingSupported()Z — since 26
  • isLePeriodicAdvertisingSupported()Z — since 26

android.bluetooth.BluetoothDevice

  • connectGatt(Landroid/content/Context;ZLandroid/bluetooth/BluetoothGattCallback;II)Landroid/bluetooth/BluetoothGatt; — since 26 (deprecated)
  • connectGatt(Landroid/content/Context;ZLandroid/bluetooth/BluetoothGattCallback;IILandroid/os/Handler;)Landroid/bluetooth/BluetoothGatt; — since 26 (deprecated)
  • PHY_LE_1M — since 26
  • PHY_LE_1M_MASK — since 26
  • PHY_LE_2M — since 26
  • PHY_LE_2M_MASK — since 26
  • PHY_LE_CODED — since 26
  • PHY_LE_CODED_MASK — since 26
  • PHY_OPTION_NO_PREFERRED — since 26
  • PHY_OPTION_S2 — since 26
  • PHY_OPTION_S8 — since 26

android.bluetooth.BluetoothGatt

  • readPhy()V — since 26
  • setPreferredPhy(III)V — since 26

android.bluetooth.BluetoothGattCallback

  • onPhyRead(Landroid/bluetooth/BluetoothGatt;III)V — since 26
  • onPhyUpdate(Landroid/bluetooth/BluetoothGatt;III)V — since 26

android.bluetooth.BluetoothGattServer

  • readPhy(Landroid/bluetooth/BluetoothDevice;)V — since 26
  • setPreferredPhy(Landroid/bluetooth/BluetoothDevice;III)V — since 26

android.bluetooth.BluetoothGattServerCallback

  • onPhyRead(Landroid/bluetooth/BluetoothDevice;III)V — since 26
  • onPhyUpdate(Landroid/bluetooth/BluetoothDevice;III)V — since 26

android.bluetooth.le.BluetoothLeAdvertiser

  • startAdvertisingSet(Landroid/bluetooth/le/AdvertisingSetParameters;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/PeriodicAdvertisingParameters;Landroid/bluetooth/le/AdvertiseData;IILandroid/bluetooth/le/AdvertisingSetCallback;)V — since 26
  • startAdvertisingSet(Landroid/bluetooth/le/AdvertisingSetParameters;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/PeriodicAdvertisingParameters;Landroid/bluetooth/le/AdvertiseData;IILandroid/bluetooth/le/AdvertisingSetCallback;Landroid/os/Handler;)V — since 26
  • startAdvertisingSet(Landroid/bluetooth/le/AdvertisingSetParameters;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/PeriodicAdvertisingParameters;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertisingSetCallback;)V — since 26
  • startAdvertisingSet(Landroid/bluetooth/le/AdvertisingSetParameters;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/PeriodicAdvertisingParameters;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertisingSetCallback;Landroid/os/Handler;)V — since 26
  • stopAdvertisingSet(Landroid/bluetooth/le/AdvertisingSetCallback;)V — since 26

android.bluetooth.le.BluetoothLeScanner

  • startScan(Ljava/util/List;Landroid/bluetooth/le/ScanSettings;Landroid/app/PendingIntent;)I — since 26
  • stopScan(Landroid/app/PendingIntent;)V — since 26
  • EXTRA_CALLBACK_TYPE — since 26
  • EXTRA_ERROR_CODE — since 26
  • EXTRA_LIST_SCAN_RESULT — since 26

android.bluetooth.le.ScanResult

  • <init>(Landroid/bluetooth/BluetoothDevice;IIIIIIILandroid/bluetooth/le/ScanRecord;J)V — since 26
  • getAdvertisingSid()I — since 26
  • getDataStatus()I — since 26
  • getPeriodicAdvertisingInterval()I — since 26
  • getPrimaryPhy()I — since 26
  • getSecondaryPhy()I — since 26
  • getTxPower()I — since 26
  • isConnectable()Z — since 26
  • isLegacy()Z — since 26
  • DATA_COMPLETE — since 26
  • DATA_TRUNCATED — since 26
  • PERIODIC_INTERVAL_NOT_PRESENT — since 26
  • PHY_UNUSED — since 26
  • SID_NOT_PRESENT — since 26
  • TX_POWER_NOT_PRESENT — since 26

android.bluetooth.le.ScanSettings

  • getLegacy()Z — since 26
  • getPhy()I — since 26
  • PHY_LE_ALL_SUPPORTED — since 26

android.bluetooth.le.ScanSettings$Builder

  • setLegacy(Z)Landroid/bluetooth/le/ScanSettings$Builder; — since 26
  • setPhy(I)Landroid/bluetooth/le/ScanSettings$Builder; — since 26

Added in API 28

android.bluetooth.BluetoothProfile

  • HID_DEVICE — since 28

Added in API 29

android.bluetooth.BluetoothAdapter

  • listenUsingInsecureL2capChannel()Landroid/bluetooth/BluetoothServerSocket; — since 29
  • listenUsingL2capChannel()Landroid/bluetooth/BluetoothServerSocket; — since 29

android.bluetooth.BluetoothDevice

  • createInsecureL2capChannel(I)Landroid/bluetooth/BluetoothSocket; — since 29
  • createL2capChannel(I)Landroid/bluetooth/BluetoothSocket; — since 29

android.bluetooth.BluetoothProfile

  • HEARING_AID — since 29

android.bluetooth.BluetoothServerSocket

  • getPsm()I — since 29

android.bluetooth.le.ScanFilter

  • getServiceSolicitationUuid()Landroid/os/ParcelUuid; — since 29
  • getServiceSolicitationUuidMask()Landroid/os/ParcelUuid; — since 29

android.bluetooth.le.ScanFilter$Builder

  • setServiceSolicitationUuid(Landroid/os/ParcelUuid;)Landroid/bluetooth/le/ScanFilter$Builder; — since 29
  • setServiceSolicitationUuid(Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;)Landroid/bluetooth/le/ScanFilter$Builder; — since 29

android.bluetooth.le.ScanRecord

  • getServiceSolicitationUuids()Ljava/util/List; — since 29

Added in API 30

android.bluetooth.BluetoothDevice

  • getAlias()Ljava/lang/String; — since 30
  • ACTION_ALIAS_CHANGED — since 30

Added in API 31

android.bluetooth.BluetoothDevice

  • setAlias(Ljava/lang/String;)I — since 31
  • ADDRESS_TYPE_PUBLIC — since 31
  • ADDRESS_TYPE_RANDOM — since 31

android.bluetooth.BluetoothGattCallback

  • onServiceChanged(Landroid/bluetooth/BluetoothGatt;)V — since 31

android.bluetooth.BluetoothHeadset

  • isNoiseReductionSupported(Landroid/bluetooth/BluetoothDevice;)Z — since 31
  • isVoiceRecognitionSupported(Landroid/bluetooth/BluetoothDevice;)Z — since 31

android.bluetooth.le.AdvertiseData

  • getServiceSolicitationUuids()Ljava/util/List; — since 31

android.bluetooth.le.AdvertiseData$Builder

  • addServiceSolicitationUuid(Landroid/os/ParcelUuid;)Landroid/bluetooth/le/AdvertiseData$Builder; — since 31

Added in API 33

android.bluetooth.BluetoothAdapter

  • getDiscoverableTimeout()Ljava/time/Duration; — since 33
  • getMaxConnectedAudioDevices()I — since 33
  • getRemoteLeDevice(Ljava/lang/String;I)Landroid/bluetooth/BluetoothDevice; — since 33
  • isLeAudioBroadcastAssistantSupported()I — since 33
  • isLeAudioBroadcastSourceSupported()I — since 33
  • isLeAudioSupported()I — since 33

android.bluetooth.BluetoothClass

  • doesClassMatch(I)Z — since 33
  • PROFILE_A2DP — since 33
  • PROFILE_HEADSET — since 33
  • PROFILE_HID — since 33

android.bluetooth.BluetoothClass$Device

  • PERIPHERAL_KEYBOARD — since 33
  • PERIPHERAL_KEYBOARD_POINTING — since 33
  • PERIPHERAL_NON_KEYBOARD_NON_POINTING — since 33
  • PERIPHERAL_POINTING — since 33

android.bluetooth.BluetoothClass$Service

  • LE_AUDIO — since 33

android.bluetooth.BluetoothDevice

  • ADDRESS_TYPE_UNKNOWN — since 33
  • EXTRA_IS_COORDINATED_SET_MEMBER — since 33
  • EXTRA_TRANSPORT — since 33

android.bluetooth.BluetoothGatt

  • writeCharacteristic(Landroid/bluetooth/BluetoothGattCharacteristic;[BI)I — since 33
  • writeDescriptor(Landroid/bluetooth/BluetoothGattDescriptor;[B)I — since 33
  • GATT_INSUFFICIENT_AUTHORIZATION — since 33

android.bluetooth.BluetoothGattCallback

  • onCharacteristicChanged(Landroid/bluetooth/BluetoothGatt;Landroid/bluetooth/BluetoothGattCharacteristic;[B)V — since 33
  • onCharacteristicRead(Landroid/bluetooth/BluetoothGatt;Landroid/bluetooth/BluetoothGattCharacteristic;[BI)V — since 33
  • onDescriptorRead(Landroid/bluetooth/BluetoothGatt;Landroid/bluetooth/BluetoothGattDescriptor;I[B)V — since 33

android.bluetooth.BluetoothGattServer

  • notifyCharacteristicChanged(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothGattCharacteristic;Z[B)I — since 33

android.bluetooth.BluetoothLeAudio

  • getConnectedGroupLeadDevice(I)Landroid/bluetooth/BluetoothDevice; — since 33
  • getGroupId(Landroid/bluetooth/BluetoothDevice;)I — since 33
  • GROUP_ID_INVALID — since 33

android.bluetooth.BluetoothProfile

  • CSIP_SET_COORDINATOR — since 33
  • HAP_CLIENT — since 33
  • LE_AUDIO — since 33

android.bluetooth.BluetoothStatusCodes

  • ERROR_GATT_WRITE_NOT_ALLOWED — since 33
  • ERROR_GATT_WRITE_REQUEST_BUSY — since 33
  • ERROR_PROFILE_SERVICE_NOT_BOUND — since 33
  • FEATURE_NOT_SUPPORTED — since 33
  • FEATURE_SUPPORTED — since 33

android.bluetooth.le.AdvertiseData

  • getTransportDiscoveryData()Ljava/util/List; — since 33

android.bluetooth.le.AdvertiseData$Builder

  • addTransportDiscoveryData(Landroid/bluetooth/le/TransportDiscoveryData;)Landroid/bluetooth/le/AdvertiseData$Builder; — since 33

android.bluetooth.le.ScanCallback

  • SCAN_FAILED_OUT_OF_HARDWARE_RESOURCES — since 33
  • SCAN_FAILED_SCANNING_TOO_FREQUENTLY — since 33

android.bluetooth.le.ScanFilter

  • getAdvertisingData()[B — since 33
  • getAdvertisingDataMask()[B — since 33
  • getAdvertisingDataType()I — since 33

android.bluetooth.le.ScanFilter$Builder

  • setAdvertisingDataType(I)Landroid/bluetooth/le/ScanFilter$Builder; — since 33
  • setAdvertisingDataTypeWithData(I[B[B)Landroid/bluetooth/le/ScanFilter$Builder; — since 33

android.bluetooth.le.ScanRecord

  • getAdvertisingDataMap()Ljava/util/Map; — since 33
  • DATA_TYPE_3D_INFORMATION_DATA — since 33
  • DATA_TYPE_ADVERTISING_INTERVAL — since 33
  • DATA_TYPE_ADVERTISING_INTERVAL_LONG — since 33
  • DATA_TYPE_APPEARANCE — since 33
  • DATA_TYPE_BIG_INFO — since 33
  • DATA_TYPE_BROADCAST_CODE — since 33
  • DATA_TYPE_CHANNEL_MAP_UPDATE_INDICATION — since 33
  • DATA_TYPE_CLASS_OF_DEVICE — since 33
  • DATA_TYPE_DEVICE_ID — since 33
  • DATA_TYPE_FLAGS — since 33
  • DATA_TYPE_INDOOR_POSITIONING — since 33
  • DATA_TYPE_LE_BLUETOOTH_DEVICE_ADDRESS — since 33
  • DATA_TYPE_LE_ROLE — since 33
  • DATA_TYPE_LE_SECURE_CONNECTIONS_CONFIRMATION_VALUE — since 33
  • DATA_TYPE_LE_SECURE_CONNECTIONS_RANDOM_VALUE — since 33
  • DATA_TYPE_LE_SUPPORTED_FEATURES — since 33
  • DATA_TYPE_LOCAL_NAME_COMPLETE — since 33
  • DATA_TYPE_LOCAL_NAME_SHORT — since 33
  • DATA_TYPE_MANUFACTURER_SPECIFIC_DATA — since 33
  • DATA_TYPE_MESH_BEACON — since 33
  • DATA_TYPE_MESH_MESSAGE — since 33
  • DATA_TYPE_NONE — since 33
  • DATA_TYPE_PB_ADV — since 33
  • DATA_TYPE_PUBLIC_TARGET_ADDRESS — since 33
  • DATA_TYPE_RANDOM_TARGET_ADDRESS — since 33
  • DATA_TYPE_RESOLVABLE_SET_IDENTIFIER — since 33
  • DATA_TYPE_SECURITY_MANAGER_OUT_OF_BAND_FLAGS — since 33
  • DATA_TYPE_SERVICE_DATA_128_BIT — since 33
  • DATA_TYPE_SERVICE_DATA_16_BIT — since 33
  • DATA_TYPE_SERVICE_DATA_32_BIT — since 33
  • DATA_TYPE_SERVICE_SOLICITATION_UUIDS_128_BIT — since 33
  • DATA_TYPE_SERVICE_SOLICITATION_UUIDS_16_BIT — since 33
  • DATA_TYPE_SERVICE_SOLICITATION_UUIDS_32_BIT — since 33
  • DATA_TYPE_SERVICE_UUIDS_128_BIT_COMPLETE — since 33
  • DATA_TYPE_SERVICE_UUIDS_128_BIT_PARTIAL — since 33
  • DATA_TYPE_SERVICE_UUIDS_16_BIT_COMPLETE — since 33
  • DATA_TYPE_SERVICE_UUIDS_16_BIT_PARTIAL — since 33
  • DATA_TYPE_SERVICE_UUIDS_32_BIT_COMPLETE — since 33
  • DATA_TYPE_SERVICE_UUIDS_32_BIT_PARTIAL — since 33
  • DATA_TYPE_SIMPLE_PAIRING_HASH_C — since 33
  • DATA_TYPE_SIMPLE_PAIRING_HASH_C_256 — since 33
  • DATA_TYPE_SIMPLE_PAIRING_RANDOMIZER_R — since 33
  • DATA_TYPE_SIMPLE_PAIRING_RANDOMIZER_R_256 — since 33
  • DATA_TYPE_SLAVE_CONNECTION_INTERVAL_RANGE — since 33
  • DATA_TYPE_TRANSPORT_DISCOVERY_DATA — since 33
  • DATA_TYPE_TX_POWER_LEVEL — since 33
  • DATA_TYPE_URI — since 33

Added in API 34

android.bluetooth.BluetoothCodecConfig

  • SOURCE_CODEC_TYPE_OPUS — since 34 (deprecated)

android.bluetooth.BluetoothGatt

  • CONNECTION_PRIORITY_DCK — since 34

android.bluetooth.BluetoothStatusCodes

  • FEATURE_NOT_CONFIGURED — since 34

android.bluetooth.le.AdvertiseSettings

  • isDiscoverable()Z — since 34

android.bluetooth.le.AdvertiseSettings$Builder

  • setDiscoverable(Z)Landroid/bluetooth/le/AdvertiseSettings$Builder; — since 34

android.bluetooth.le.AdvertisingSetParameters

  • isDiscoverable()Z — since 34

android.bluetooth.le.AdvertisingSetParameters$Builder

  • setDiscoverable(Z)Landroid/bluetooth/le/AdvertisingSetParameters$Builder; — since 34

android.bluetooth.le.ScanSettings

  • AUTO_BATCH_MIN_REPORT_DELAY_MILLIS — since 34
  • CALLBACK_TYPE_ALL_MATCHES_AUTO_BATCH — since 34

Added in API 35

android.bluetooth.BluetoothA2dp

  • getSupportedCodecTypes()Ljava/util/Collection; — since 35

android.bluetooth.BluetoothCodecConfig

  • getExtendedCodecType()Landroid/bluetooth/BluetoothCodecType; — since 35

android.bluetooth.BluetoothCodecConfig$Builder

  • setExtendedCodecType(Landroid/bluetooth/BluetoothCodecType;)Landroid/bluetooth/BluetoothCodecConfig$Builder; — since 35

android.bluetooth.BluetoothDevice

  • getAddressType()I — since 35
  • ADDRESS_TYPE_ANONYMOUS — since 35

android.bluetooth.BluetoothGatt

  • GATT_CONNECTION_TIMEOUT — since 35

android.bluetooth.BluetoothLeAudioCodecConfig

  • SAMPLE_RATE_11025 — since 35
  • SAMPLE_RATE_176400 — since 35
  • SAMPLE_RATE_192000 — since 35
  • SAMPLE_RATE_22050 — since 35
  • SAMPLE_RATE_384000 — since 35
  • SAMPLE_RATE_88200 — since 35
  • SAMPLE_RATE_96000 — since 35

android.bluetooth.BluetoothSocketException

  • UNIX_FILE_SOCKET_CREATION_FAILURE — since 35

Added in API 36

android.bluetooth.BluetoothAdapter

  • listenUsingSocketSettings(Landroid/bluetooth/BluetoothSocketSettings;)Landroid/bluetooth/BluetoothServerSocket; — since 36

android.bluetooth.BluetoothCodecType

  • CODEC_ID_LHDCV5 — since 36.1

android.bluetooth.BluetoothDevice

  • createUsingSocketSettings(Landroid/bluetooth/BluetoothSocketSettings;)Landroid/bluetooth/BluetoothSocket; — since 36
  • getIdentityAddressWithType()Landroid/bluetooth/BluetoothDevice$BluetoothAddress; — since 36
  • ACTION_ENCRYPTION_CHANGE — since 36
  • ACTION_KEY_MISSING — since 36
  • ENCRYPTION_ALGORITHM_AES — since 36
  • ENCRYPTION_ALGORITHM_E0 — since 36
  • ENCRYPTION_ALGORITHM_NONE — since 36
  • EXTRA_ENCRYPTION_ALGORITHM — since 36
  • EXTRA_ENCRYPTION_ENABLED — since 36
  • EXTRA_ENCRYPTION_STATUS — since 36
  • EXTRA_KEY_SIZE — since 36
  • getEncryptionStatus(I)Landroid/bluetooth/EncryptionStatus; — since 36.1
  • getKeyMissingCount()I — since 36.1
  • isConnected(I)Z — since 36.1
  • BOND_LOSS_REASON_BREDR_AUTH_FAILURE — since 36.1
  • BOND_LOSS_REASON_BREDR_INCOMING_PAIRING — since 36.1
  • BOND_LOSS_REASON_LE_ENCRYPT_FAILURE — since 36.1
  • BOND_LOSS_REASON_LE_INCOMING_PAIRING — since 36.1
  • BOND_LOSS_REASON_UNKNOWN — since 36.1
  • ENCRYPTION_ALGORITHM_UNKNOWN — since 36.1
  • EXTRA_BOND_LOSS_REASON — since 36.1
  • EXTRA_DISCOVERY_RESULT_TYPE — since 36.1
  • EXTRA_UUID_LE — since 36.1

android.bluetooth.BluetoothGatt

  • requestSubrateMode(I)I — since 36.1
  • SUBRATE_MODE_BALANCED — since 36.1
  • SUBRATE_MODE_HIGH — since 36.1
  • SUBRATE_MODE_LOW — since 36.1
  • SUBRATE_MODE_NOT_UPDATED — since 36.1
  • SUBRATE_MODE_OFF — since 36.1
  • SUBRATE_MODE_SYSTEM_UPDATE — since 36.1

android.bluetooth.BluetoothGattCallback

  • onSubrateChange(Landroid/bluetooth/BluetoothGatt;II)V — since 36.1

android.bluetooth.BluetoothGattServerCallback

  • onSubrateChange(Landroid/bluetooth/BluetoothDevice;II)V — since 36.1

android.bluetooth.BluetoothLeAudioCodecConfig

  • SOURCE_CODEC_TYPE_OPUS — since 36
  • SOURCE_CODEC_TYPE_OPUS_HI_RES — since 36.1

android.bluetooth.BluetoothProfile

  • EXTRA_PROFILE — since 36.1

android.bluetooth.BluetoothSocket

  • TYPE_LE — since 36

android.bluetooth.le.ScanSettings

  • getRssiThreshold()I — since 36.1
  • getScanType()I — since 36.1
  • SCAN_TYPE_ACTIVE — since 36.1
  • SCAN_TYPE_PASSIVE — since 36.1
  • SCAN_TYPE_UNKNOWN — since 36.1

android.bluetooth.le.ScanSettings$Builder

  • setRssiThreshold(I)Landroid/bluetooth/le/ScanSettings$Builder; — since 36.1
  • setScanType(I)Landroid/bluetooth/le/ScanSettings$Builder; — since 36.1

android.ranging.RangingData

  • getDistanceStandardDeviationMeters()D — since 36.1
  • hasDistanceStandardDeviation()Z — since 36.1

android.ranging.RangingManager

  • WIFI_STA_RTT — since 36.1

android.ranging.oob.OobInitiatorRangingConfig

  • getRangingTechnologyFilter()Ljava/util/Set; — since 36.1

android.ranging.oob.OobInitiatorRangingConfig$Builder

  • setRangingTechnologyFilter(Ljava/util/Set;)Landroid/ranging/oob/OobInitiatorRangingConfig$Builder; — since 36.1

android.ranging.raw.RawRangingDevice

  • getRangingIntervalValues()Ljava/util/Map; — since 36.1
  • getRttStationRangingParams()Landroid/ranging/wifi/rtt/RttStationRangingParams; — since 36.1

android.ranging.raw.RawRangingDevice$Builder

  • setRttStationRangingParams(Landroid/ranging/wifi/rtt/RttStationRangingParams;)Landroid/ranging/raw/RawRangingDevice$Builder; — since 36.1

Added in API 37

android.bluetooth.BluetoothA2dp

  • EXTRA_DISCONNECTED_REASON — since 37.0

android.bluetooth.BluetoothAdapter

  • isLeHighDataThroughputPhySupported()I — since 37.0

android.bluetooth.BluetoothCodecType

  • CODEC_ID_SONY_LDAC — since 37.0

android.bluetooth.BluetoothDevice

  • cancelBondProcess()Z — since 37.0
  • connect()I — since 37.0
  • connectGatt(Landroid/bluetooth/BluetoothGattConnectionSettings;Ljava/util/concurrent/Executor;Landroid/bluetooth/BluetoothGattCallback;)Landroid/bluetooth/BluetoothGatt; — since 37.0
  • createBond(I)Z — since 37.0
  • disconnect()I — since 37.0
  • fetchUuids(I)Z — since 37.0
  • getBondStatus(I)Landroid/bluetooth/BondStatus; — since 37.0
  • EXTRA_PAIRING_ALGORITHM — since 37.0
  • EXTRA_PAIRING_CONTEXT — since 37.0
  • PAIRING_ALGORITHM_BREDR_LEGACY — since 37.0
  • PAIRING_ALGORITHM_BREDR_SSP — since 37.0
  • PAIRING_ALGORITHM_LE_LEGACY — since 37.0
  • PAIRING_ALGORITHM_SC — since 37.0
  • PAIRING_CONTEXT_REPAIRING — since 37.0
  • PAIRING_CONTEXT_USER_APPROVAL_REQUESTED — since 37.0
  • PAIRING_CONTEXT_USER_PARTICIPATION_REQUESTED — since 37.0
  • PHY_LE_HDT — since 37.0
  • PHY_LE_HDT_MASK — since 37.0

android.bluetooth.BluetoothHeadset

  • EXTRA_DISCONNECTED_REASON — since 37.0

android.bluetooth.BluetoothLeAudioCodecConfig

  • getCodecId()J — since 37.0
  • SOURCE_CODEC_TYPE_VENDOR_SPECIFIC — since 37.0

android.bluetooth.BluetoothLeAudioCodecConfig$Builder

  • setCodecId(J)Landroid/bluetooth/BluetoothLeAudioCodecConfig$Builder; — since 37.0

android.bluetooth.BluetoothStatusCodes

  • ERROR_AVDTP_DISCOVERY_FAILED — since 37.0
  • ERROR_INSUFFICIENT_RESOURCES — since 37.0
  • ERROR_RFCOMM_CONNECTION_FAILED — since 37.0
  • ERROR_ROLE_SWITCH_FAILED — since 37.0
  • ERROR_SDP_DISCOVERY_FAILED — since 37.0
  • ERROR_STREAM_CONNECTION_FAILED — since 37.0

android.bluetooth.le.AdvertisingSetParameters

  • TX_POWER_MAX_AVAILABLE — since 37.0

android.ranging.RangingCapabilities

  • getWifiPdRangingCapabilities()Landroid/ranging/wifi/pd/WifiPdRangingCapabilities; — since 37.0

android.ranging.RangingData

  • getRangingDataExtras()Landroid/ranging/RangingDataExtras; — since 37.0

android.ranging.RangingDevice

  • getDlTdoaUwbAddress()Landroid/ranging/uwb/UwbAddress; — since 37.0

android.ranging.RangingDevice$Builder

  • setDlTdoaUwbAddress(Landroid/ranging/uwb/UwbAddress;)Landroid/ranging/RangingDevice$Builder; — since 37.0

android.ranging.RangingManager

  • WIFI_PD — since 37.0

android.ranging.RangingPreference

  • DEVICE_ROLE_DT_TAG — since 37.0

android.ranging.RangingSession$Callback

  • onDlTdoaResults(Landroid/ranging/RangingDevice;Landroid/ranging/DlTdoaMeasurement;)V — since 37.0
  • onMotionReceived(Landroid/ranging/RangingDevice;Landroid/ranging/MotionState;)V — since 37.0

android.ranging.SessionConfig

  • getAntennaMode()I — since 37.0
  • ANTENNA_MODE_DIRECTIONAL — since 37.0
  • ANTENNA_MODE_OMNI — since 37.0

android.ranging.SessionConfig$Builder

  • setAntennaMode(I)Landroid/ranging/SessionConfig$Builder; — since 37.0

android.ranging.oob.DeviceHandle

  • getBluetoothDevice()Landroid/bluetooth/BluetoothDevice; — since 37.0

android.ranging.oob.DeviceHandle$Builder

  • setBluetoothDevice(Landroid/bluetooth/BluetoothDevice;)Landroid/ranging/oob/DeviceHandle$Builder; — since 37.0

android.ranging.raw.RawRangingDevice

  • getDlTdoaRangingParams()Landroid/ranging/uwb/DlTdoaRangingParams; — since 37.0
  • getWifiPdRangingParams()Landroid/ranging/wifi/pd/WifiPdRangingParams; — since 37.0

android.ranging.raw.RawRangingDevice$Builder

  • setDlTdoaRangingParams(Landroid/ranging/uwb/DlTdoaRangingParams;)Landroid/ranging/raw/RawRangingDevice$Builder; — since 37.0
  • setWifiPdRangingParams(Landroid/ranging/wifi/pd/WifiPdRangingParams;)Landroid/ranging/raw/RawRangingDevice$Builder; — since 37.0

android.ranging.uwb.UwbRangingCapabilities

  • getSupportedAntennaModes()Ljava/util/List; — since 37.0
  • isDlTdoaSupported()Z — since 37.0