1// Signature format: 2.0 2package android.bluetooth { 3 4 public final class BluetoothA2dp implements android.bluetooth.BluetoothProfile { 5 method public void finalize(); 6 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 7 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice); 8 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]); 9 method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public java.util.Collection<android.bluetooth.BluetoothCodecType> getSupportedCodecTypes(); 10 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isA2dpPlaying(android.bluetooth.BluetoothDevice); 11 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGED"; 12 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_PLAYING_STATE_CHANGED = "android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED"; 13 field public static final int STATE_NOT_PLAYING = 11; // 0xb 14 field public static final int STATE_PLAYING = 10; // 0xa 15 } 16 17 public final class BluetoothAdapter { 18 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean cancelDiscovery(); 19 method public static boolean checkBluetoothAddress(String); 20 method public void closeProfileProxy(int, android.bluetooth.BluetoothProfile); 21 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disable(); 22 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enable(); 23 method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.LOCAL_MAC_ADDRESS}) public String getAddress(); 24 method public android.bluetooth.le.BluetoothLeAdvertiser getBluetoothLeAdvertiser(); 25 method public android.bluetooth.le.BluetoothLeScanner getBluetoothLeScanner(); 26 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.Set<android.bluetooth.BluetoothDevice> getBondedDevices(); 27 method @Deprecated public static android.bluetooth.BluetoothAdapter getDefaultAdapter(); 28 method @Nullable @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public java.time.Duration getDiscoverableTimeout(); 29 method public int getLeMaximumAdvertisingDataLength(); 30 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getMaxConnectedAudioDevices(); 31 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public String getName(); 32 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getProfileConnectionState(int); 33 method public boolean getProfileProxy(android.content.Context, android.bluetooth.BluetoothProfile.ServiceListener, int); 34 method public android.bluetooth.BluetoothDevice getRemoteDevice(String); 35 method public android.bluetooth.BluetoothDevice getRemoteDevice(byte[]); 36 method @NonNull public android.bluetooth.BluetoothDevice getRemoteLeDevice(@NonNull String, int); 37 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public int getScanMode(); 38 method public int getState(); 39 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean isDiscovering(); 40 method public boolean isEnabled(); 41 method public boolean isLe2MPhySupported(); 42 method public int isLeAudioBroadcastAssistantSupported(); 43 method public int isLeAudioBroadcastSourceSupported(); 44 method public int isLeAudioSupported(); 45 method public boolean isLeCodedPhySupported(); 46 method public boolean isLeExtendedAdvertisingSupported(); 47 method public boolean isLePeriodicAdvertisingSupported(); 48 method public boolean isMultipleAdvertisementSupported(); 49 method public boolean isOffloadedFilteringSupported(); 50 method public boolean isOffloadedScanBatchingSupported(); 51 method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothServerSocket listenUsingInsecureL2capChannel() throws java.io.IOException; 52 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothServerSocket listenUsingInsecureRfcommWithServiceRecord(String, java.util.UUID) throws java.io.IOException; 53 method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothServerSocket listenUsingL2capChannel() throws java.io.IOException; 54 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothServerSocket listenUsingRfcommWithServiceRecord(String, java.util.UUID) throws java.io.IOException; 55 method @FlaggedApi("com.android.bluetooth.flags.socket_settings_api") @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}, conditional=true) public android.bluetooth.BluetoothServerSocket listenUsingSocketSettings(@NonNull android.bluetooth.BluetoothSocketSettings) throws java.io.IOException; 56 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean setName(String); 57 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean startDiscovery(); 58 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean startLeScan(android.bluetooth.BluetoothAdapter.LeScanCallback); 59 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean startLeScan(java.util.UUID[], android.bluetooth.BluetoothAdapter.LeScanCallback); 60 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void stopLeScan(android.bluetooth.BluetoothAdapter.LeScanCallback); 61 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED"; 62 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public static final String ACTION_DISCOVERY_FINISHED = "android.bluetooth.adapter.action.DISCOVERY_FINISHED"; 63 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public static final String ACTION_DISCOVERY_STARTED = "android.bluetooth.adapter.action.DISCOVERY_STARTED"; 64 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_LOCAL_NAME_CHANGED = "android.bluetooth.adapter.action.LOCAL_NAME_CHANGED"; 65 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public static final String ACTION_REQUEST_DISCOVERABLE = "android.bluetooth.adapter.action.REQUEST_DISCOVERABLE"; 66 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_REQUEST_ENABLE = "android.bluetooth.adapter.action.REQUEST_ENABLE"; 67 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public static final String ACTION_SCAN_MODE_CHANGED = "android.bluetooth.adapter.action.SCAN_MODE_CHANGED"; 68 field public static final String ACTION_STATE_CHANGED = "android.bluetooth.adapter.action.STATE_CHANGED"; 69 field public static final int ERROR = -2147483648; // 0x80000000 70 field public static final String EXTRA_CONNECTION_STATE = "android.bluetooth.adapter.extra.CONNECTION_STATE"; 71 field public static final String EXTRA_DISCOVERABLE_DURATION = "android.bluetooth.adapter.extra.DISCOVERABLE_DURATION"; 72 field public static final String EXTRA_LOCAL_NAME = "android.bluetooth.adapter.extra.LOCAL_NAME"; 73 field public static final String EXTRA_PREVIOUS_CONNECTION_STATE = "android.bluetooth.adapter.extra.PREVIOUS_CONNECTION_STATE"; 74 field public static final String EXTRA_PREVIOUS_SCAN_MODE = "android.bluetooth.adapter.extra.PREVIOUS_SCAN_MODE"; 75 field public static final String EXTRA_PREVIOUS_STATE = "android.bluetooth.adapter.extra.PREVIOUS_STATE"; 76 field public static final String EXTRA_SCAN_MODE = "android.bluetooth.adapter.extra.SCAN_MODE"; 77 field public static final String EXTRA_STATE = "android.bluetooth.adapter.extra.STATE"; 78 field public static final int SCAN_MODE_CONNECTABLE = 21; // 0x15 79 field public static final int SCAN_MODE_CONNECTABLE_DISCOVERABLE = 23; // 0x17 80 field public static final int SCAN_MODE_NONE = 20; // 0x14 81 field public static final int STATE_CONNECTED = 2; // 0x2 82 field public static final int STATE_CONNECTING = 1; // 0x1 83 field public static final int STATE_DISCONNECTED = 0; // 0x0 84 field public static final int STATE_DISCONNECTING = 3; // 0x3 85 field public static final int STATE_OFF = 10; // 0xa 86 field public static final int STATE_ON = 12; // 0xc 87 field public static final int STATE_TURNING_OFF = 13; // 0xd 88 field public static final int STATE_TURNING_ON = 11; // 0xb 89 } 90 91 public static interface BluetoothAdapter.LeScanCallback { 92 method public void onLeScan(android.bluetooth.BluetoothDevice, int, byte[]); 93 } 94 95 public class BluetoothAssignedNumbers { 96 field public static final int AAMP_OF_AMERICA = 190; // 0xbe 97 field public static final int ACCEL_SEMICONDUCTOR = 74; // 0x4a 98 field public static final int ACE_SENSOR = 188; // 0xbc 99 field public static final int ADIDAS = 195; // 0xc3 100 field public static final int ADVANCED_PANMOBIL_SYSTEMS = 145; // 0x91 101 field public static final int AIROHA_TECHNOLOGY = 148; // 0x94 102 field public static final int ALCATEL = 36; // 0x24 103 field public static final int ALPWISE = 154; // 0x9a 104 field public static final int AMICCOM_ELECTRONICS = 192; // 0xc0 105 field public static final int APLIX = 189; // 0xbd 106 field public static final int APPLE = 76; // 0x4c 107 field public static final int APT_LICENSING = 79; // 0x4f 108 field public static final int ARCHOS = 207; // 0xcf 109 field public static final int ARP_DEVICES = 168; // 0xa8 110 field public static final int ATHEROS_COMMUNICATIONS = 69; // 0x45 111 field public static final int ATMEL = 19; // 0x13 112 field public static final int AUSTCO_COMMUNICATION_SYSTEMS = 213; // 0xd5 113 field public static final int AUTONET_MOBILE = 127; // 0x7f 114 field public static final int AVAGO = 78; // 0x4e 115 field public static final int AVM_BERLIN = 31; // 0x1f 116 field public static final int A_AND_D_ENGINEERING = 105; // 0x69 117 field public static final int A_AND_R_CAMBRIDGE = 124; // 0x7c 118 field public static final int BANDSPEED = 32; // 0x20 119 field public static final int BAND_XI_INTERNATIONAL = 100; // 0x64 120 field public static final int BDE_TECHNOLOGY = 180; // 0xb4 121 field public static final int BEATS_ELECTRONICS = 204; // 0xcc 122 field public static final int BEAUTIFUL_ENTERPRISE = 108; // 0x6c 123 field public static final int BEKEY = 178; // 0xb2 124 field public static final int BELKIN_INTERNATIONAL = 92; // 0x5c 125 field public static final int BINAURIC = 203; // 0xcb 126 field public static final int BIOSENTRONICS = 219; // 0xdb 127 field public static final int BLUEGIGA = 71; // 0x47 128 field public static final int BLUERADIOS = 133; // 0x85 129 field public static final int BLUETOOTH_SIG = 63; // 0x3f 130 field public static final int BLUETREK_TECHNOLOGIES = 151; // 0x97 131 field public static final int BOSE = 158; // 0x9e 132 field public static final int BRIARTEK = 109; // 0x6d 133 field public static final int BROADCOM = 15; // 0xf 134 field public static final int CAEN_RFID = 170; // 0xaa 135 field public static final int CAMBRIDGE_SILICON_RADIO = 10; // 0xa 136 field public static final int CATC = 52; // 0x34 137 field public static final int CINETIX = 175; // 0xaf 138 field public static final int CLARINOX_TECHNOLOGIES = 179; // 0xb3 139 field public static final int COLORFY = 156; // 0x9c 140 field public static final int COMMIL = 51; // 0x33 141 field public static final int CONEXANT_SYSTEMS = 28; // 0x1c 142 field public static final int CONNECTBLUE = 113; // 0x71 143 field public static final int CONTINENTAL_AUTOMOTIVE = 75; // 0x4b 144 field public static final int CONWISE_TECHNOLOGY = 66; // 0x42 145 field public static final int CREATIVE_TECHNOLOGY = 118; // 0x76 146 field public static final int C_TECHNOLOGIES = 38; // 0x26 147 field public static final int DANLERS = 225; // 0xe1 148 field public static final int DELORME_PUBLISHING_COMPANY = 128; // 0x80 149 field public static final int DEXCOM = 208; // 0xd0 150 field public static final int DIALOG_SEMICONDUCTOR = 210; // 0xd2 151 field public static final int DIGIANSWER = 12; // 0xc 152 field public static final int ECLIPSE = 53; // 0x35 153 field public static final int ECOTEST = 136; // 0x88 154 field public static final int ELGATO_SYSTEMS = 206; // 0xce 155 field public static final int EM_MICROELECTRONIC_MARIN = 90; // 0x5a 156 field public static final int EQUINOX_AG = 134; // 0x86 157 field public static final int ERICSSON_TECHNOLOGY = 0; // 0x0 158 field public static final int EVLUMA = 201; // 0xc9 159 field public static final int FREE2MOVE = 83; // 0x53 160 field public static final int FUNAI_ELECTRIC = 144; // 0x90 161 field public static final int GARMIN_INTERNATIONAL = 135; // 0x87 162 field public static final int GCT_SEMICONDUCTOR = 45; // 0x2d 163 field public static final int GELO = 200; // 0xc8 164 field public static final int GENEQ = 194; // 0xc2 165 field public static final int GENERAL_MOTORS = 104; // 0x68 166 field public static final int GENNUM = 59; // 0x3b 167 field public static final int GEOFORCE = 157; // 0x9d 168 field public static final int GIBSON_GUITARS = 98; // 0x62 169 field public static final int GN_NETCOM = 103; // 0x67 170 field public static final int GN_RESOUND = 137; // 0x89 171 field public static final int GOOGLE = 224; // 0xe0 172 field public static final int GREEN_THROTTLE_GAMES = 172; // 0xac 173 field public static final int GROUP_SENSE = 115; // 0x73 174 field public static final int HANLYNN_TECHNOLOGIES = 123; // 0x7b 175 field public static final int HARMAN_INTERNATIONAL = 87; // 0x57 176 field public static final int HEWLETT_PACKARD = 101; // 0x65 177 field public static final int HITACHI = 41; // 0x29 178 field public static final int HOSIDEN = 221; // 0xdd 179 field public static final int IBM = 3; // 0x3 180 field public static final int INFINEON_TECHNOLOGIES = 9; // 0x9 181 field public static final int INGENIEUR_SYSTEMGRUPPE_ZAHN = 171; // 0xab 182 field public static final int INTEGRATED_SILICON_SOLUTION = 65; // 0x41 183 field public static final int INTEGRATED_SYSTEM_SOLUTION = 57; // 0x39 184 field public static final int INTEL = 2; // 0x2 185 field public static final int INVENTEL = 30; // 0x1e 186 field public static final int IPEXTREME = 61; // 0x3d 187 field public static final int I_TECH_DYNAMIC_GLOBAL_DISTRIBUTION = 153; // 0x99 188 field public static final int JAWBONE = 138; // 0x8a 189 field public static final int JIANGSU_TOPPOWER_AUTOMOTIVE_ELECTRONICS = 155; // 0x9b 190 field public static final int JOHNSON_CONTROLS = 185; // 0xb9 191 field public static final int J_AND_M = 82; // 0x52 192 field public static final int KAWANTECH = 212; // 0xd4 193 field public static final int KC_TECHNOLOGY = 22; // 0x16 194 field public static final int KENSINGTON_COMPUTER_PRODUCTS_GROUP = 160; // 0xa0 195 field public static final int LAIRD_TECHNOLOGIES = 119; // 0x77 196 field public static final int LESSWIRE = 121; // 0x79 197 field public static final int LG_ELECTRONICS = 196; // 0xc4 198 field public static final int LINAK = 164; // 0xa4 199 field public static final int LUCENT = 7; // 0x7 200 field public static final int LUDUS_HELSINKI = 132; // 0x84 201 field public static final int MACRONIX = 44; // 0x2c 202 field public static final int MAGNETI_MARELLI = 169; // 0xa9 203 field public static final int MANSELLA = 33; // 0x21 204 field public static final int MARVELL = 72; // 0x48 205 field public static final int MATSUSHITA_ELECTRIC = 58; // 0x3a 206 field public static final int MC10 = 202; // 0xca 207 field public static final int MEDIATEK = 70; // 0x46 208 field public static final int MESO_INTERNATIONAL = 182; // 0xb6 209 field public static final int META_WATCH = 163; // 0xa3 210 field public static final int MEWTEL_TECHNOLOGY = 47; // 0x2f 211 field public static final int MICOMMAND = 99; // 0x63 212 field public static final int MICROCHIP_TECHNOLOGY = 205; // 0xcd 213 field public static final int MICROSOFT = 6; // 0x6 214 field public static final int MINDTREE = 106; // 0x6a 215 field public static final int MISFIT_WEARABLES = 223; // 0xdf 216 field public static final int MITEL_SEMICONDUCTOR = 16; // 0x10 217 field public static final int MITSUBISHI_ELECTRIC = 20; // 0x14 218 field public static final int MOBILIAN_CORPORATION = 55; // 0x37 219 field public static final int MONSTER = 112; // 0x70 220 field public static final int MOTOROLA = 8; // 0x8 221 field public static final int MSTAR_SEMICONDUCTOR = 122; // 0x7a 222 field public static final int MUZIK = 222; // 0xde 223 field public static final int NEC = 34; // 0x22 224 field public static final int NEC_LIGHTING = 149; // 0x95 225 field public static final int NEWLOGIC = 23; // 0x17 226 field public static final int NIKE = 120; // 0x78 227 field public static final int NINE_SOLUTIONS = 102; // 0x66 228 field public static final int NOKIA_MOBILE_PHONES = 1; // 0x1 229 field public static final int NORDIC_SEMICONDUCTOR = 89; // 0x59 230 field public static final int NORWOOD_SYSTEMS = 46; // 0x2e 231 field public static final int ODM_TECHNOLOGY = 150; // 0x96 232 field public static final int OMEGAWAVE = 174; // 0xae 233 field public static final int ONSET_COMPUTER = 197; // 0xc5 234 field public static final int OPEN_INTERFACE = 39; // 0x27 235 field public static final int OTL_DYNAMICS = 165; // 0xa5 236 field public static final int PANDA_OCEAN = 166; // 0xa6 237 field public static final int PARROT = 67; // 0x43 238 field public static final int PARTHUS_TECHNOLOGIES = 14; // 0xe 239 field public static final int PASSIF_SEMICONDUCTOR = 176; // 0xb0 240 field public static final int PETER_SYSTEMTECHNIK = 173; // 0xad 241 field public static final int PHILIPS_SEMICONDUCTORS = 37; // 0x25 242 field public static final int PLANTRONICS = 85; // 0x55 243 field public static final int POLAR_ELECTRO = 107; // 0x6b 244 field public static final int POLAR_ELECTRO_EUROPE = 209; // 0xd1 245 field public static final int PROCTER_AND_GAMBLE = 220; // 0xdc 246 field public static final int QUALCOMM = 29; // 0x1d 247 field public static final int QUALCOMM_CONNECTED_EXPERIENCES = 216; // 0xd8 248 field public static final int QUALCOMM_INNOVATION_CENTER = 184; // 0xb8 249 field public static final int QUALCOMM_LABS = 140; // 0x8c 250 field public static final int QUALCOMM_TECHNOLOGIES = 215; // 0xd7 251 field public static final int QUINTIC = 142; // 0x8e 252 field public static final int QUUPPA = 199; // 0xc7 253 field public static final int RALINK_TECHNOLOGY = 91; // 0x5b 254 field public static final int RDA_MICROELECTRONICS = 97; // 0x61 255 field public static final int REALTEK_SEMICONDUCTOR = 93; // 0x5d 256 field public static final int RED_M = 50; // 0x32 257 field public static final int RENESAS_TECHNOLOGY = 54; // 0x36 258 field public static final int RESEARCH_IN_MOTION = 60; // 0x3c 259 field public static final int RF_MICRO_DEVICES = 40; // 0x28 260 field public static final int RIVIERAWAVES = 96; // 0x60 261 field public static final int ROHDE_AND_SCHWARZ = 25; // 0x19 262 field public static final int RTX_TELECOM = 21; // 0x15 263 field public static final int SAMSUNG_ELECTRONICS = 117; // 0x75 264 field public static final int SARIS_CYCLING_GROUP = 177; // 0xb1 265 field public static final int SEERS_TECHNOLOGY = 125; // 0x7d 266 field public static final int SEIKO_EPSON = 64; // 0x40 267 field public static final int SELFLY = 198; // 0xc6 268 field public static final int SEMILINK = 226; // 0xe2 269 field public static final int SENNHEISER_COMMUNICATIONS = 130; // 0x82 270 field public static final int SHANGHAI_SUPER_SMART_ELECTRONICS = 114; // 0x72 271 field public static final int SHENZHEN_EXCELSECU_DATA_TECHNOLOGY = 193; // 0xc1 272 field public static final int SIGNIA_TECHNOLOGIES = 27; // 0x1b 273 field public static final int SILICON_WAVE = 11; // 0xb 274 field public static final int SIRF_TECHNOLOGY = 80; // 0x50 275 field public static final int SOCKET_MOBILE = 68; // 0x44 276 field public static final int SONY_ERICSSON = 86; // 0x56 277 field public static final int SOUND_ID = 111; // 0x6f 278 field public static final int SPORTS_TRACKING_TECHNOLOGIES = 126; // 0x7e 279 field public static final int SR_MEDIZINELEKTRONIK = 161; // 0xa1 280 field public static final int STACCATO_COMMUNICATIONS = 77; // 0x4d 281 field public static final int STALMART_TECHNOLOGY = 191; // 0xbf 282 field public static final int STARKEY_LABORATORIES = 186; // 0xba 283 field public static final int STOLLMAN_E_PLUS_V = 143; // 0x8f 284 field public static final int STONESTREET_ONE = 94; // 0x5e 285 field public static final int ST_MICROELECTRONICS = 48; // 0x30 286 field public static final int SUMMIT_DATA_COMMUNICATIONS = 110; // 0x6e 287 field public static final int SUUNTO = 159; // 0x9f 288 field public static final int SWIRL_NETWORKS = 181; // 0xb5 289 field public static final int SYMBOL_TECHNOLOGIES = 42; // 0x2a 290 field public static final int SYNOPSYS = 49; // 0x31 291 field public static final int SYSTEMS_AND_CHIPS = 62; // 0x3e 292 field public static final int S_POWER_ELECTRONICS = 187; // 0xbb 293 field public static final int TAIXINGBANG_TECHNOLOGY = 211; // 0xd3 294 field public static final int TENOVIS = 43; // 0x2b 295 field public static final int TERAX = 56; // 0x38 296 field public static final int TEXAS_INSTRUMENTS = 13; // 0xd 297 field public static final int THINKOPTICS = 146; // 0x92 298 field public static final int THREECOM = 5; // 0x5 299 field public static final int THREE_DIJOY = 84; // 0x54 300 field public static final int THREE_DSP = 73; // 0x49 301 field public static final int TIMEKEEPING_SYSTEMS = 131; // 0x83 302 field public static final int TIMEX_GROUP_USA = 214; // 0xd6 303 field public static final int TOPCORN_POSITIONING_SYSTEMS = 139; // 0x8b 304 field public static final int TOSHIBA = 4; // 0x4 305 field public static final int TRANSILICA = 24; // 0x18 306 field public static final int TRELAB = 183; // 0xb7 307 field public static final int TTPCOM = 26; // 0x1a 308 field public static final int TXTR = 218; // 0xda 309 field public static final int TZERO_TECHNOLOGIES = 81; // 0x51 310 field public static final int UNIVERSAL_ELECTRONICS = 147; // 0x93 311 field public static final int VERTU = 162; // 0xa2 312 field public static final int VISTEON = 167; // 0xa7 313 field public static final int VIZIO = 88; // 0x58 314 field public static final int VOYETRA_TURTLE_BEACH = 217; // 0xd9 315 field public static final int WAVEPLUS_TECHNOLOGY = 35; // 0x23 316 field public static final int WICENTRIC = 95; // 0x5f 317 field public static final int WIDCOMM = 17; // 0x11 318 field public static final int WUXI_VIMICRO = 129; // 0x81 319 field public static final int ZEEVO = 18; // 0x12 320 field public static final int ZER01_TV = 152; // 0x98 321 field public static final int ZOMM = 116; // 0x74 322 field public static final int ZSCAN_SOFTWARE = 141; // 0x8d 323 } 324 325 public final class BluetoothClass implements android.os.Parcelable { 326 method public int describeContents(); 327 method public boolean doesClassMatch(int); 328 method public int getDeviceClass(); 329 method public int getMajorDeviceClass(); 330 method public boolean hasService(int); 331 method public void writeToParcel(android.os.Parcel, int); 332 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothClass> CREATOR; 333 field public static final int PROFILE_A2DP = 1; // 0x1 334 field public static final int PROFILE_HEADSET = 0; // 0x0 335 field public static final int PROFILE_HID = 3; // 0x3 336 } 337 338 public static class BluetoothClass.Device { 339 ctor public BluetoothClass.Device(); 340 field public static final int AUDIO_VIDEO_CAMCORDER = 1076; // 0x434 341 field public static final int AUDIO_VIDEO_CAR_AUDIO = 1056; // 0x420 342 field public static final int AUDIO_VIDEO_HANDSFREE = 1032; // 0x408 343 field public static final int AUDIO_VIDEO_HEADPHONES = 1048; // 0x418 344 field public static final int AUDIO_VIDEO_HIFI_AUDIO = 1064; // 0x428 345 field public static final int AUDIO_VIDEO_LOUDSPEAKER = 1044; // 0x414 346 field public static final int AUDIO_VIDEO_MICROPHONE = 1040; // 0x410 347 field public static final int AUDIO_VIDEO_PORTABLE_AUDIO = 1052; // 0x41c 348 field public static final int AUDIO_VIDEO_SET_TOP_BOX = 1060; // 0x424 349 field public static final int AUDIO_VIDEO_UNCATEGORIZED = 1024; // 0x400 350 field public static final int AUDIO_VIDEO_VCR = 1068; // 0x42c 351 field public static final int AUDIO_VIDEO_VIDEO_CAMERA = 1072; // 0x430 352 field public static final int AUDIO_VIDEO_VIDEO_CONFERENCING = 1088; // 0x440 353 field public static final int AUDIO_VIDEO_VIDEO_DISPLAY_AND_LOUDSPEAKER = 1084; // 0x43c 354 field public static final int AUDIO_VIDEO_VIDEO_GAMING_TOY = 1096; // 0x448 355 field public static final int AUDIO_VIDEO_VIDEO_MONITOR = 1080; // 0x438 356 field public static final int AUDIO_VIDEO_WEARABLE_HEADSET = 1028; // 0x404 357 field public static final int COMPUTER_DESKTOP = 260; // 0x104 358 field public static final int COMPUTER_HANDHELD_PC_PDA = 272; // 0x110 359 field public static final int COMPUTER_LAPTOP = 268; // 0x10c 360 field public static final int COMPUTER_PALM_SIZE_PC_PDA = 276; // 0x114 361 field public static final int COMPUTER_SERVER = 264; // 0x108 362 field public static final int COMPUTER_UNCATEGORIZED = 256; // 0x100 363 field public static final int COMPUTER_WEARABLE = 280; // 0x118 364 field public static final int HEALTH_BLOOD_PRESSURE = 2308; // 0x904 365 field public static final int HEALTH_DATA_DISPLAY = 2332; // 0x91c 366 field public static final int HEALTH_GLUCOSE = 2320; // 0x910 367 field public static final int HEALTH_PULSE_OXIMETER = 2324; // 0x914 368 field public static final int HEALTH_PULSE_RATE = 2328; // 0x918 369 field public static final int HEALTH_THERMOMETER = 2312; // 0x908 370 field public static final int HEALTH_UNCATEGORIZED = 2304; // 0x900 371 field public static final int HEALTH_WEIGHING = 2316; // 0x90c 372 field public static final int PERIPHERAL_KEYBOARD = 1344; // 0x540 373 field public static final int PERIPHERAL_KEYBOARD_POINTING = 1472; // 0x5c0 374 field public static final int PERIPHERAL_NON_KEYBOARD_NON_POINTING = 1280; // 0x500 375 field public static final int PERIPHERAL_POINTING = 1408; // 0x580 376 field public static final int PHONE_CELLULAR = 516; // 0x204 377 field public static final int PHONE_CORDLESS = 520; // 0x208 378 field public static final int PHONE_ISDN = 532; // 0x214 379 field public static final int PHONE_MODEM_OR_GATEWAY = 528; // 0x210 380 field public static final int PHONE_SMART = 524; // 0x20c 381 field public static final int PHONE_UNCATEGORIZED = 512; // 0x200 382 field public static final int TOY_CONTROLLER = 2064; // 0x810 383 field public static final int TOY_DOLL_ACTION_FIGURE = 2060; // 0x80c 384 field public static final int TOY_GAME = 2068; // 0x814 385 field public static final int TOY_ROBOT = 2052; // 0x804 386 field public static final int TOY_UNCATEGORIZED = 2048; // 0x800 387 field public static final int TOY_VEHICLE = 2056; // 0x808 388 field public static final int WEARABLE_GLASSES = 1812; // 0x714 389 field public static final int WEARABLE_HELMET = 1808; // 0x710 390 field public static final int WEARABLE_JACKET = 1804; // 0x70c 391 field public static final int WEARABLE_PAGER = 1800; // 0x708 392 field public static final int WEARABLE_UNCATEGORIZED = 1792; // 0x700 393 field public static final int WEARABLE_WRIST_WATCH = 1796; // 0x704 394 } 395 396 public static class BluetoothClass.Device.Major { 397 ctor public BluetoothClass.Device.Major(); 398 field public static final int AUDIO_VIDEO = 1024; // 0x400 399 field public static final int COMPUTER = 256; // 0x100 400 field public static final int HEALTH = 2304; // 0x900 401 field public static final int IMAGING = 1536; // 0x600 402 field public static final int MISC = 0; // 0x0 403 field public static final int NETWORKING = 768; // 0x300 404 field public static final int PERIPHERAL = 1280; // 0x500 405 field public static final int PHONE = 512; // 0x200 406 field public static final int TOY = 2048; // 0x800 407 field public static final int UNCATEGORIZED = 7936; // 0x1f00 408 field public static final int WEARABLE = 1792; // 0x700 409 } 410 411 public static final class BluetoothClass.Service { 412 ctor public BluetoothClass.Service(); 413 field public static final int AUDIO = 2097152; // 0x200000 414 field public static final int CAPTURE = 524288; // 0x80000 415 field public static final int INFORMATION = 8388608; // 0x800000 416 field public static final int LE_AUDIO = 16384; // 0x4000 417 field public static final int LIMITED_DISCOVERABILITY = 8192; // 0x2000 418 field public static final int NETWORKING = 131072; // 0x20000 419 field public static final int OBJECT_TRANSFER = 1048576; // 0x100000 420 field public static final int POSITIONING = 65536; // 0x10000 421 field public static final int RENDER = 262144; // 0x40000 422 field public static final int TELEPHONY = 4194304; // 0x400000 423 } 424 425 public final class BluetoothCodecConfig implements android.os.Parcelable { 426 method public int describeContents(); 427 method public int getBitsPerSample(); 428 method public int getChannelMode(); 429 method public int getCodecPriority(); 430 method public long getCodecSpecific1(); 431 method public long getCodecSpecific2(); 432 method public long getCodecSpecific3(); 433 method public long getCodecSpecific4(); 434 method @Deprecated public int getCodecType(); 435 method @Nullable public android.bluetooth.BluetoothCodecType getExtendedCodecType(); 436 method public int getSampleRate(); 437 method public boolean isMandatoryCodec(); 438 method public void writeToParcel(android.os.Parcel, int); 439 field public static final int BITS_PER_SAMPLE_16 = 1; // 0x1 440 field public static final int BITS_PER_SAMPLE_24 = 2; // 0x2 441 field public static final int BITS_PER_SAMPLE_32 = 4; // 0x4 442 field public static final int BITS_PER_SAMPLE_NONE = 0; // 0x0 443 field public static final int CHANNEL_MODE_MONO = 1; // 0x1 444 field public static final int CHANNEL_MODE_NONE = 0; // 0x0 445 field public static final int CHANNEL_MODE_STEREO = 2; // 0x2 446 field public static final int CODEC_PRIORITY_DEFAULT = 0; // 0x0 447 field public static final int CODEC_PRIORITY_DISABLED = -1; // 0xffffffff 448 field public static final int CODEC_PRIORITY_HIGHEST = 1000000; // 0xf4240 449 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothCodecConfig> CREATOR; 450 field public static final int SAMPLE_RATE_176400 = 16; // 0x10 451 field public static final int SAMPLE_RATE_192000 = 32; // 0x20 452 field public static final int SAMPLE_RATE_44100 = 1; // 0x1 453 field public static final int SAMPLE_RATE_48000 = 2; // 0x2 454 field public static final int SAMPLE_RATE_88200 = 4; // 0x4 455 field public static final int SAMPLE_RATE_96000 = 8; // 0x8 456 field public static final int SAMPLE_RATE_NONE = 0; // 0x0 457 field @Deprecated public static final int SOURCE_CODEC_TYPE_AAC = 1; // 0x1 458 field @Deprecated public static final int SOURCE_CODEC_TYPE_APTX = 2; // 0x2 459 field @Deprecated public static final int SOURCE_CODEC_TYPE_APTX_HD = 3; // 0x3 460 field @Deprecated public static final int SOURCE_CODEC_TYPE_INVALID = 1000000; // 0xf4240 461 field @Deprecated public static final int SOURCE_CODEC_TYPE_LC3 = 5; // 0x5 462 field @Deprecated public static final int SOURCE_CODEC_TYPE_LDAC = 4; // 0x4 463 field @Deprecated public static final int SOURCE_CODEC_TYPE_OPUS = 6; // 0x6 464 field @Deprecated public static final int SOURCE_CODEC_TYPE_SBC = 0; // 0x0 465 } 466 467 public static final class BluetoothCodecConfig.Builder { 468 ctor public BluetoothCodecConfig.Builder(); 469 method @NonNull public android.bluetooth.BluetoothCodecConfig build(); 470 method @NonNull public android.bluetooth.BluetoothCodecConfig.Builder setBitsPerSample(int); 471 method @NonNull public android.bluetooth.BluetoothCodecConfig.Builder setChannelMode(int); 472 method @NonNull public android.bluetooth.BluetoothCodecConfig.Builder setCodecPriority(int); 473 method @NonNull public android.bluetooth.BluetoothCodecConfig.Builder setCodecSpecific1(long); 474 method @NonNull public android.bluetooth.BluetoothCodecConfig.Builder setCodecSpecific2(long); 475 method @NonNull public android.bluetooth.BluetoothCodecConfig.Builder setCodecSpecific3(long); 476 method @NonNull public android.bluetooth.BluetoothCodecConfig.Builder setCodecSpecific4(long); 477 method @Deprecated @NonNull public android.bluetooth.BluetoothCodecConfig.Builder setCodecType(int); 478 method @NonNull public android.bluetooth.BluetoothCodecConfig.Builder setExtendedCodecType(@Nullable android.bluetooth.BluetoothCodecType); 479 method @NonNull public android.bluetooth.BluetoothCodecConfig.Builder setSampleRate(int); 480 } 481 482 public final class BluetoothCodecStatus implements android.os.Parcelable { 483 method public int describeContents(); 484 method @Nullable public android.bluetooth.BluetoothCodecConfig getCodecConfig(); 485 method @NonNull public java.util.List<android.bluetooth.BluetoothCodecConfig> getCodecsLocalCapabilities(); 486 method @NonNull public java.util.List<android.bluetooth.BluetoothCodecConfig> getCodecsSelectableCapabilities(); 487 method public boolean isCodecConfigSelectable(@Nullable android.bluetooth.BluetoothCodecConfig); 488 method public void writeToParcel(@NonNull android.os.Parcel, int); 489 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothCodecStatus> CREATOR; 490 field public static final String EXTRA_CODEC_STATUS = "android.bluetooth.extra.CODEC_STATUS"; 491 } 492 493 public static final class BluetoothCodecStatus.Builder { 494 ctor public BluetoothCodecStatus.Builder(); 495 method @NonNull public android.bluetooth.BluetoothCodecStatus build(); 496 method @NonNull public android.bluetooth.BluetoothCodecStatus.Builder setCodecConfig(@NonNull android.bluetooth.BluetoothCodecConfig); 497 method @NonNull public android.bluetooth.BluetoothCodecStatus.Builder setCodecsLocalCapabilities(@NonNull java.util.List<android.bluetooth.BluetoothCodecConfig>); 498 method @NonNull public android.bluetooth.BluetoothCodecStatus.Builder setCodecsSelectableCapabilities(@NonNull java.util.List<android.bluetooth.BluetoothCodecConfig>); 499 } 500 501 public final class BluetoothCodecType implements android.os.Parcelable { 502 method public int describeContents(); 503 method public long getCodecId(); 504 method @NonNull public String getCodecName(); 505 method public boolean isMandatoryCodec(); 506 method public void writeToParcel(@NonNull android.os.Parcel, int); 507 field public static final long CODEC_ID_AAC = 2L; // 0x2L 508 field public static final long CODEC_ID_APTX = 16797695L; // 0x1004fffL 509 field public static final long CODEC_ID_APTX_HD = 604035071L; // 0x2400d7ffL 510 field public static final long CODEC_ID_LDAC = -1442763265L; // 0xffffffffaa012dffL 511 field @FlaggedApi("com.android.bluetooth.flags.a2dp_lhdc_api") public static final long CODEC_ID_LHDCV5 = 327307049727L; // 0x4c35053affL 512 field public static final long CODEC_ID_OPUS = 16834815L; // 0x100e0ffL 513 field public static final long CODEC_ID_SBC = 0L; // 0x0L 514 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothCodecType> CREATOR; 515 } 516 517 public final class BluetoothCsipSetCoordinator implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile { 518 method public void close(); 519 method protected void finalize(); 520 method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 521 method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@Nullable android.bluetooth.BluetoothDevice); 522 method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]); 523 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CSIS_CONNECTION_STATE_CHANGED = "android.bluetooth.action.CSIS_CONNECTION_STATE_CHANGED"; 524 } 525 526 public final class BluetoothDevice implements android.os.Parcelable { 527 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback); 528 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int); 529 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int, int); 530 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int, int, android.os.Handler); 531 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean createBond(); 532 method @NonNull public android.bluetooth.BluetoothSocket createInsecureL2capChannel(int) throws java.io.IOException; 533 method public android.bluetooth.BluetoothSocket createInsecureRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException; 534 method @NonNull public android.bluetooth.BluetoothSocket createL2capChannel(int) throws java.io.IOException; 535 method public android.bluetooth.BluetoothSocket createRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException; 536 method @FlaggedApi("com.android.bluetooth.flags.socket_settings_api") @NonNull public android.bluetooth.BluetoothSocket createUsingSocketSettings(@NonNull android.bluetooth.BluetoothSocketSettings) throws java.io.IOException; 537 method public int describeContents(); 538 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean fetchUuidsWithSdp(); 539 method public String getAddress(); 540 method public int getAddressType(); 541 method @Nullable @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public String getAlias(); 542 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothClass getBluetoothClass(); 543 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getBondState(); 544 method @FlaggedApi("com.android.bluetooth.flags.identity_address_type_api") @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothDevice.BluetoothAddress getIdentityAddressWithType(); 545 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public String getName(); 546 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getType(); 547 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.os.ParcelUuid[] getUuids(); 548 method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}, conditional=true) public int setAlias(@Nullable String); 549 method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setPairingConfirmation(boolean); 550 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean setPin(byte[]); 551 method public void writeToParcel(android.os.Parcel, int); 552 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACL_CONNECTED = "android.bluetooth.device.action.ACL_CONNECTED"; 553 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACL_DISCONNECTED = "android.bluetooth.device.action.ACL_DISCONNECTED"; 554 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACL_DISCONNECT_REQUESTED = "android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED"; 555 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ALIAS_CHANGED = "android.bluetooth.device.action.ALIAS_CHANGED"; 556 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_BOND_STATE_CHANGED = "android.bluetooth.device.action.BOND_STATE_CHANGED"; 557 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CLASS_CHANGED = "android.bluetooth.device.action.CLASS_CHANGED"; 558 field @FlaggedApi("com.android.bluetooth.flags.encryption_change_broadcast") @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ENCRYPTION_CHANGE = "android.bluetooth.device.action.ENCRYPTION_CHANGE"; 559 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public static final String ACTION_FOUND = "android.bluetooth.device.action.FOUND"; 560 field @FlaggedApi("com.android.bluetooth.flags.key_missing_public") @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}, conditional=true) public static final String ACTION_KEY_MISSING = "android.bluetooth.device.action.KEY_MISSING"; 561 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_NAME_CHANGED = "android.bluetooth.device.action.NAME_CHANGED"; 562 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_PAIRING_REQUEST = "android.bluetooth.device.action.PAIRING_REQUEST"; 563 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_UUID = "android.bluetooth.device.action.UUID"; 564 field public static final int ADDRESS_TYPE_ANONYMOUS = 255; // 0xff 565 field public static final int ADDRESS_TYPE_PUBLIC = 0; // 0x0 566 field public static final int ADDRESS_TYPE_RANDOM = 1; // 0x1 567 field public static final int ADDRESS_TYPE_UNKNOWN = 65535; // 0xffff 568 field public static final int BOND_BONDED = 12; // 0xc 569 field public static final int BOND_BONDING = 11; // 0xb 570 field public static final int BOND_NONE = 10; // 0xa 571 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothDevice> CREATOR; 572 field public static final int DEVICE_TYPE_CLASSIC = 1; // 0x1 573 field public static final int DEVICE_TYPE_DUAL = 3; // 0x3 574 field public static final int DEVICE_TYPE_LE = 2; // 0x2 575 field public static final int DEVICE_TYPE_UNKNOWN = 0; // 0x0 576 field @FlaggedApi("com.android.bluetooth.flags.encryption_change_broadcast") public static final int ENCRYPTION_ALGORITHM_AES = 2; // 0x2 577 field @FlaggedApi("com.android.bluetooth.flags.encryption_change_broadcast") public static final int ENCRYPTION_ALGORITHM_E0 = 1; // 0x1 578 field @FlaggedApi("com.android.bluetooth.flags.encryption_change_broadcast") public static final int ENCRYPTION_ALGORITHM_NONE = 0; // 0x0 579 field public static final int ERROR = -2147483648; // 0x80000000 580 field public static final String EXTRA_BOND_STATE = "android.bluetooth.device.extra.BOND_STATE"; 581 field public static final String EXTRA_CLASS = "android.bluetooth.device.extra.CLASS"; 582 field public static final String EXTRA_DEVICE = "android.bluetooth.device.extra.DEVICE"; 583 field @FlaggedApi("com.android.bluetooth.flags.encryption_change_broadcast") public static final String EXTRA_ENCRYPTION_ALGORITHM = "android.bluetooth.device.extra.EXTRA_ENCRYPTION_ALGORITHM"; 584 field @FlaggedApi("com.android.bluetooth.flags.encryption_change_broadcast") public static final String EXTRA_ENCRYPTION_ENABLED = "android.bluetooth.device.extra.ENCRYPTION_ENABLED"; 585 field @FlaggedApi("com.android.bluetooth.flags.encryption_change_broadcast") public static final String EXTRA_ENCRYPTION_STATUS = "android.bluetooth.device.extra.ENCRYPTION_STATUS"; 586 field public static final String EXTRA_IS_COORDINATED_SET_MEMBER = "android.bluetooth.extra.IS_COORDINATED_SET_MEMBER"; 587 field @FlaggedApi("com.android.bluetooth.flags.encryption_change_broadcast") public static final String EXTRA_KEY_SIZE = "android.bluetooth.device.extra.KEY_SIZE"; 588 field public static final String EXTRA_NAME = "android.bluetooth.device.extra.NAME"; 589 field public static final String EXTRA_PAIRING_KEY = "android.bluetooth.device.extra.PAIRING_KEY"; 590 field public static final String EXTRA_PAIRING_VARIANT = "android.bluetooth.device.extra.PAIRING_VARIANT"; 591 field public static final String EXTRA_PREVIOUS_BOND_STATE = "android.bluetooth.device.extra.PREVIOUS_BOND_STATE"; 592 field public static final String EXTRA_RSSI = "android.bluetooth.device.extra.RSSI"; 593 field public static final String EXTRA_TRANSPORT = "android.bluetooth.device.extra.TRANSPORT"; 594 field public static final String EXTRA_UUID = "android.bluetooth.device.extra.UUID"; 595 field public static final int PAIRING_VARIANT_PASSKEY_CONFIRMATION = 2; // 0x2 596 field public static final int PAIRING_VARIANT_PIN = 0; // 0x0 597 field public static final int PHY_LE_1M = 1; // 0x1 598 field public static final int PHY_LE_1M_MASK = 1; // 0x1 599 field public static final int PHY_LE_2M = 2; // 0x2 600 field public static final int PHY_LE_2M_MASK = 2; // 0x2 601 field public static final int PHY_LE_CODED = 3; // 0x3 602 field public static final int PHY_LE_CODED_MASK = 4; // 0x4 603 field public static final int PHY_OPTION_NO_PREFERRED = 0; // 0x0 604 field public static final int PHY_OPTION_S2 = 1; // 0x1 605 field public static final int PHY_OPTION_S8 = 2; // 0x2 606 field public static final int TRANSPORT_AUTO = 0; // 0x0 607 field public static final int TRANSPORT_BREDR = 1; // 0x1 608 field public static final int TRANSPORT_LE = 2; // 0x2 609 } 610 611 @FlaggedApi("com.android.bluetooth.flags.identity_address_type_api") public static final class BluetoothDevice.BluetoothAddress implements android.os.Parcelable { 612 ctor public BluetoothDevice.BluetoothAddress(@Nullable String, int); 613 method public int describeContents(); 614 method @Nullable public String getAddress(); 615 method public int getAddressType(); 616 method public void writeToParcel(@NonNull android.os.Parcel, int); 617 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothDevice.BluetoothAddress> CREATOR; 618 } 619 620 public final class BluetoothGatt implements android.bluetooth.BluetoothProfile { 621 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void abortReliableWrite(); 622 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void abortReliableWrite(android.bluetooth.BluetoothDevice); 623 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean beginReliableWrite(); 624 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void close(); 625 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean connect(); 626 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void disconnect(); 627 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean discoverServices(); 628 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean executeReliableWrite(); 629 method @Deprecated public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 630 method @Deprecated public int getConnectionState(android.bluetooth.BluetoothDevice); 631 method public android.bluetooth.BluetoothDevice getDevice(); 632 method @Deprecated public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]); 633 method public android.bluetooth.BluetoothGattService getService(java.util.UUID); 634 method public java.util.List<android.bluetooth.BluetoothGattService> getServices(); 635 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean readCharacteristic(android.bluetooth.BluetoothGattCharacteristic); 636 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean readDescriptor(android.bluetooth.BluetoothGattDescriptor); 637 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void readPhy(); 638 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean readRemoteRssi(); 639 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean requestConnectionPriority(int); 640 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean requestMtu(int); 641 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean setCharacteristicNotification(android.bluetooth.BluetoothGattCharacteristic, boolean); 642 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void setPreferredPhy(int, int, int); 643 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean writeCharacteristic(android.bluetooth.BluetoothGattCharacteristic); 644 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int writeCharacteristic(@NonNull android.bluetooth.BluetoothGattCharacteristic, @NonNull byte[], int); 645 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean writeDescriptor(android.bluetooth.BluetoothGattDescriptor); 646 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int writeDescriptor(@NonNull android.bluetooth.BluetoothGattDescriptor, @NonNull byte[]); 647 field public static final int CONNECTION_PRIORITY_BALANCED = 0; // 0x0 648 field public static final int CONNECTION_PRIORITY_DCK = 3; // 0x3 649 field public static final int CONNECTION_PRIORITY_HIGH = 1; // 0x1 650 field public static final int CONNECTION_PRIORITY_LOW_POWER = 2; // 0x2 651 field public static final int GATT_CONNECTION_CONGESTED = 143; // 0x8f 652 field public static final int GATT_CONNECTION_TIMEOUT = 147; // 0x93 653 field public static final int GATT_FAILURE = 257; // 0x101 654 field public static final int GATT_INSUFFICIENT_AUTHENTICATION = 5; // 0x5 655 field public static final int GATT_INSUFFICIENT_AUTHORIZATION = 8; // 0x8 656 field public static final int GATT_INSUFFICIENT_ENCRYPTION = 15; // 0xf 657 field public static final int GATT_INVALID_ATTRIBUTE_LENGTH = 13; // 0xd 658 field public static final int GATT_INVALID_OFFSET = 7; // 0x7 659 field public static final int GATT_READ_NOT_PERMITTED = 2; // 0x2 660 field public static final int GATT_REQUEST_NOT_SUPPORTED = 6; // 0x6 661 field public static final int GATT_SUCCESS = 0; // 0x0 662 field public static final int GATT_WRITE_NOT_PERMITTED = 3; // 0x3 663 } 664 665 public abstract class BluetoothGattCallback { 666 ctor public BluetoothGattCallback(); 667 method @Deprecated public void onCharacteristicChanged(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic); 668 method public void onCharacteristicChanged(@NonNull android.bluetooth.BluetoothGatt, @NonNull android.bluetooth.BluetoothGattCharacteristic, @NonNull byte[]); 669 method @Deprecated public void onCharacteristicRead(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int); 670 method public void onCharacteristicRead(@NonNull android.bluetooth.BluetoothGatt, @NonNull android.bluetooth.BluetoothGattCharacteristic, @NonNull byte[], int); 671 method public void onCharacteristicWrite(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int); 672 method public void onConnectionStateChange(android.bluetooth.BluetoothGatt, int, int); 673 method @Deprecated public void onDescriptorRead(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattDescriptor, int); 674 method public void onDescriptorRead(@NonNull android.bluetooth.BluetoothGatt, @NonNull android.bluetooth.BluetoothGattDescriptor, int, @NonNull byte[]); 675 method public void onDescriptorWrite(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattDescriptor, int); 676 method public void onMtuChanged(android.bluetooth.BluetoothGatt, int, int); 677 method public void onPhyRead(android.bluetooth.BluetoothGatt, int, int, int); 678 method public void onPhyUpdate(android.bluetooth.BluetoothGatt, int, int, int); 679 method public void onReadRemoteRssi(android.bluetooth.BluetoothGatt, int, int); 680 method public void onReliableWriteCompleted(android.bluetooth.BluetoothGatt, int); 681 method public void onServiceChanged(@NonNull android.bluetooth.BluetoothGatt); 682 method public void onServicesDiscovered(android.bluetooth.BluetoothGatt, int); 683 } 684 685 public class BluetoothGattCharacteristic implements android.os.Parcelable { 686 ctor public BluetoothGattCharacteristic(java.util.UUID, int, int); 687 method public boolean addDescriptor(android.bluetooth.BluetoothGattDescriptor); 688 method public int describeContents(); 689 method public android.bluetooth.BluetoothGattDescriptor getDescriptor(java.util.UUID); 690 method public java.util.List<android.bluetooth.BluetoothGattDescriptor> getDescriptors(); 691 method @Deprecated public Float getFloatValue(int, int); 692 method public int getInstanceId(); 693 method @Deprecated public Integer getIntValue(int, int); 694 method public int getPermissions(); 695 method public int getProperties(); 696 method public android.bluetooth.BluetoothGattService getService(); 697 method @Deprecated public String getStringValue(int); 698 method public java.util.UUID getUuid(); 699 method @Deprecated public byte[] getValue(); 700 method public int getWriteType(); 701 method @Deprecated public boolean setValue(byte[]); 702 method @Deprecated public boolean setValue(int, int, int); 703 method @Deprecated public boolean setValue(int, int, int, int); 704 method @Deprecated public boolean setValue(String); 705 method public void setWriteType(int); 706 method public void writeToParcel(android.os.Parcel, int); 707 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothGattCharacteristic> CREATOR; 708 field public static final int FORMAT_FLOAT = 52; // 0x34 709 field public static final int FORMAT_SFLOAT = 50; // 0x32 710 field public static final int FORMAT_SINT16 = 34; // 0x22 711 field public static final int FORMAT_SINT32 = 36; // 0x24 712 field public static final int FORMAT_SINT8 = 33; // 0x21 713 field public static final int FORMAT_UINT16 = 18; // 0x12 714 field public static final int FORMAT_UINT32 = 20; // 0x14 715 field public static final int FORMAT_UINT8 = 17; // 0x11 716 field public static final int PERMISSION_READ = 1; // 0x1 717 field public static final int PERMISSION_READ_ENCRYPTED = 2; // 0x2 718 field public static final int PERMISSION_READ_ENCRYPTED_MITM = 4; // 0x4 719 field public static final int PERMISSION_WRITE = 16; // 0x10 720 field public static final int PERMISSION_WRITE_ENCRYPTED = 32; // 0x20 721 field public static final int PERMISSION_WRITE_ENCRYPTED_MITM = 64; // 0x40 722 field public static final int PERMISSION_WRITE_SIGNED = 128; // 0x80 723 field public static final int PERMISSION_WRITE_SIGNED_MITM = 256; // 0x100 724 field public static final int PROPERTY_BROADCAST = 1; // 0x1 725 field public static final int PROPERTY_EXTENDED_PROPS = 128; // 0x80 726 field public static final int PROPERTY_INDICATE = 32; // 0x20 727 field public static final int PROPERTY_NOTIFY = 16; // 0x10 728 field public static final int PROPERTY_READ = 2; // 0x2 729 field public static final int PROPERTY_SIGNED_WRITE = 64; // 0x40 730 field public static final int PROPERTY_WRITE = 8; // 0x8 731 field public static final int PROPERTY_WRITE_NO_RESPONSE = 4; // 0x4 732 field public static final int WRITE_TYPE_DEFAULT = 2; // 0x2 733 field public static final int WRITE_TYPE_NO_RESPONSE = 1; // 0x1 734 field public static final int WRITE_TYPE_SIGNED = 4; // 0x4 735 field protected java.util.List<android.bluetooth.BluetoothGattDescriptor> mDescriptors; 736 } 737 738 public class BluetoothGattDescriptor implements android.os.Parcelable { 739 ctor public BluetoothGattDescriptor(java.util.UUID, int); 740 method public int describeContents(); 741 method public android.bluetooth.BluetoothGattCharacteristic getCharacteristic(); 742 method public int getPermissions(); 743 method public java.util.UUID getUuid(); 744 method @Deprecated public byte[] getValue(); 745 method @Deprecated public boolean setValue(byte[]); 746 method public void writeToParcel(android.os.Parcel, int); 747 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothGattDescriptor> CREATOR; 748 field public static final byte[] DISABLE_NOTIFICATION_VALUE; 749 field public static final byte[] ENABLE_INDICATION_VALUE; 750 field public static final byte[] ENABLE_NOTIFICATION_VALUE; 751 field public static final int PERMISSION_READ = 1; // 0x1 752 field public static final int PERMISSION_READ_ENCRYPTED = 2; // 0x2 753 field public static final int PERMISSION_READ_ENCRYPTED_MITM = 4; // 0x4 754 field public static final int PERMISSION_WRITE = 16; // 0x10 755 field public static final int PERMISSION_WRITE_ENCRYPTED = 32; // 0x20 756 field public static final int PERMISSION_WRITE_ENCRYPTED_MITM = 64; // 0x40 757 field public static final int PERMISSION_WRITE_SIGNED = 128; // 0x80 758 field public static final int PERMISSION_WRITE_SIGNED_MITM = 256; // 0x100 759 } 760 761 public final class BluetoothGattServer implements android.bluetooth.BluetoothProfile { 762 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean addService(android.bluetooth.BluetoothGattService); 763 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void cancelConnection(android.bluetooth.BluetoothDevice); 764 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void clearServices(); 765 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void close(); 766 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean connect(android.bluetooth.BluetoothDevice, boolean); 767 method public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 768 method public int getConnectionState(android.bluetooth.BluetoothDevice); 769 method public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]); 770 method public android.bluetooth.BluetoothGattService getService(java.util.UUID); 771 method public java.util.List<android.bluetooth.BluetoothGattService> getServices(); 772 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean notifyCharacteristicChanged(android.bluetooth.BluetoothDevice, android.bluetooth.BluetoothGattCharacteristic, boolean); 773 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int notifyCharacteristicChanged(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothGattCharacteristic, boolean, @NonNull byte[]); 774 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void readPhy(android.bluetooth.BluetoothDevice); 775 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean removeService(android.bluetooth.BluetoothGattService); 776 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean sendResponse(android.bluetooth.BluetoothDevice, int, int, int, byte[]); 777 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void setPreferredPhy(android.bluetooth.BluetoothDevice, int, int, int); 778 } 779 780 public abstract class BluetoothGattServerCallback { 781 ctor public BluetoothGattServerCallback(); 782 method public void onCharacteristicReadRequest(android.bluetooth.BluetoothDevice, int, int, android.bluetooth.BluetoothGattCharacteristic); 783 method public void onCharacteristicWriteRequest(android.bluetooth.BluetoothDevice, int, android.bluetooth.BluetoothGattCharacteristic, boolean, boolean, int, byte[]); 784 method public void onConnectionStateChange(android.bluetooth.BluetoothDevice, int, int); 785 method public void onDescriptorReadRequest(android.bluetooth.BluetoothDevice, int, int, android.bluetooth.BluetoothGattDescriptor); 786 method public void onDescriptorWriteRequest(android.bluetooth.BluetoothDevice, int, android.bluetooth.BluetoothGattDescriptor, boolean, boolean, int, byte[]); 787 method public void onExecuteWrite(android.bluetooth.BluetoothDevice, int, boolean); 788 method public void onMtuChanged(android.bluetooth.BluetoothDevice, int); 789 method public void onNotificationSent(android.bluetooth.BluetoothDevice, int); 790 method public void onPhyRead(android.bluetooth.BluetoothDevice, int, int, int); 791 method public void onPhyUpdate(android.bluetooth.BluetoothDevice, int, int, int); 792 method public void onServiceAdded(int, android.bluetooth.BluetoothGattService); 793 } 794 795 public class BluetoothGattService implements android.os.Parcelable { 796 ctor public BluetoothGattService(java.util.UUID, int); 797 method public boolean addCharacteristic(android.bluetooth.BluetoothGattCharacteristic); 798 method public boolean addService(android.bluetooth.BluetoothGattService); 799 method public int describeContents(); 800 method public android.bluetooth.BluetoothGattCharacteristic getCharacteristic(java.util.UUID); 801 method public java.util.List<android.bluetooth.BluetoothGattCharacteristic> getCharacteristics(); 802 method public java.util.List<android.bluetooth.BluetoothGattService> getIncludedServices(); 803 method public int getInstanceId(); 804 method public int getType(); 805 method public java.util.UUID getUuid(); 806 method public void writeToParcel(android.os.Parcel, int); 807 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothGattService> CREATOR; 808 field public static final int SERVICE_TYPE_PRIMARY = 0; // 0x0 809 field public static final int SERVICE_TYPE_SECONDARY = 1; // 0x1 810 field protected java.util.List<android.bluetooth.BluetoothGattCharacteristic> mCharacteristics; 811 field protected java.util.List<android.bluetooth.BluetoothGattService> mIncludedServices; 812 } 813 814 public final class BluetoothHeadset implements android.bluetooth.BluetoothProfile { 815 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 816 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice); 817 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]); 818 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isAudioConnected(android.bluetooth.BluetoothDevice); 819 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isNoiseReductionSupported(@NonNull android.bluetooth.BluetoothDevice); 820 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isVoiceRecognitionSupported(@NonNull android.bluetooth.BluetoothDevice); 821 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean sendVendorSpecificResultCode(android.bluetooth.BluetoothDevice, String, String); 822 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean startVoiceRecognition(android.bluetooth.BluetoothDevice); 823 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean stopVoiceRecognition(android.bluetooth.BluetoothDevice); 824 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_AUDIO_STATE_CHANGED = "android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED"; 825 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED"; 826 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_VENDOR_SPECIFIC_HEADSET_EVENT = "android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT"; 827 field public static final int AT_CMD_TYPE_ACTION = 4; // 0x4 828 field public static final int AT_CMD_TYPE_BASIC = 3; // 0x3 829 field public static final int AT_CMD_TYPE_READ = 0; // 0x0 830 field public static final int AT_CMD_TYPE_SET = 2; // 0x2 831 field public static final int AT_CMD_TYPE_TEST = 1; // 0x1 832 field public static final String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_ARGS = "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_ARGS"; 833 field public static final String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD = "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_CMD"; 834 field public static final String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE = "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE"; 835 field public static final int STATE_AUDIO_CONNECTED = 12; // 0xc 836 field public static final int STATE_AUDIO_CONNECTING = 11; // 0xb 837 field public static final int STATE_AUDIO_DISCONNECTED = 10; // 0xa 838 field public static final String VENDOR_RESULT_CODE_COMMAND_ANDROID = "+ANDROID"; 839 field public static final String VENDOR_SPECIFIC_HEADSET_EVENT_COMPANY_ID_CATEGORY = "android.bluetooth.headset.intent.category.companyid"; 840 } 841 842 @Deprecated public final class BluetoothHealth implements android.bluetooth.BluetoothProfile { 843 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean connectChannelToSource(android.bluetooth.BluetoothDevice, android.bluetooth.BluetoothHealthAppConfiguration); 844 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disconnectChannel(android.bluetooth.BluetoothDevice, android.bluetooth.BluetoothHealthAppConfiguration, int); 845 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 846 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice); 847 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]); 848 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.os.ParcelFileDescriptor getMainChannelFd(android.bluetooth.BluetoothDevice, android.bluetooth.BluetoothHealthAppConfiguration); 849 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean registerSinkAppConfiguration(String, int, android.bluetooth.BluetoothHealthCallback); 850 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean unregisterAppConfiguration(android.bluetooth.BluetoothHealthAppConfiguration); 851 field @Deprecated public static final int APP_CONFIG_REGISTRATION_FAILURE = 1; // 0x1 852 field @Deprecated public static final int APP_CONFIG_REGISTRATION_SUCCESS = 0; // 0x0 853 field @Deprecated public static final int APP_CONFIG_UNREGISTRATION_FAILURE = 3; // 0x3 854 field @Deprecated public static final int APP_CONFIG_UNREGISTRATION_SUCCESS = 2; // 0x2 855 field @Deprecated public static final int CHANNEL_TYPE_RELIABLE = 10; // 0xa 856 field @Deprecated public static final int CHANNEL_TYPE_STREAMING = 11; // 0xb 857 field @Deprecated public static final int SINK_ROLE = 2; // 0x2 858 field @Deprecated public static final int SOURCE_ROLE = 1; // 0x1 859 field @Deprecated public static final int STATE_CHANNEL_CONNECTED = 2; // 0x2 860 field @Deprecated public static final int STATE_CHANNEL_CONNECTING = 1; // 0x1 861 field @Deprecated public static final int STATE_CHANNEL_DISCONNECTED = 0; // 0x0 862 field @Deprecated public static final int STATE_CHANNEL_DISCONNECTING = 3; // 0x3 863 } 864 865 @Deprecated public final class BluetoothHealthAppConfiguration implements android.os.Parcelable { 866 method @Deprecated public int describeContents(); 867 method @Deprecated public int getDataType(); 868 method @Deprecated public String getName(); 869 method @Deprecated public int getRole(); 870 method @Deprecated public void writeToParcel(android.os.Parcel, int); 871 field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHealthAppConfiguration> CREATOR; 872 } 873 874 @Deprecated public abstract class BluetoothHealthCallback { 875 ctor @Deprecated public BluetoothHealthCallback(); 876 method @Deprecated @BinderThread public void onHealthAppConfigurationStatusChange(android.bluetooth.BluetoothHealthAppConfiguration, int); 877 method @Deprecated @BinderThread public void onHealthChannelStateChange(android.bluetooth.BluetoothHealthAppConfiguration, android.bluetooth.BluetoothDevice, int, int, android.os.ParcelFileDescriptor, int); 878 } 879 880 public final class BluetoothHearingAid implements android.bluetooth.BluetoothProfile { 881 method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 882 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice); 883 method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]); 884 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.hearingaid.profile.action.CONNECTION_STATE_CHANGED"; 885 } 886 887 public final class BluetoothHidDevice implements android.bluetooth.BluetoothProfile { 888 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean connect(android.bluetooth.BluetoothDevice); 889 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disconnect(android.bluetooth.BluetoothDevice); 890 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 891 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice); 892 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]); 893 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean registerApp(android.bluetooth.BluetoothHidDeviceAppSdpSettings, android.bluetooth.BluetoothHidDeviceAppQosSettings, android.bluetooth.BluetoothHidDeviceAppQosSettings, java.util.concurrent.Executor, android.bluetooth.BluetoothHidDevice.Callback); 894 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean replyReport(android.bluetooth.BluetoothDevice, byte, byte, byte[]); 895 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean reportError(android.bluetooth.BluetoothDevice, byte); 896 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean sendReport(android.bluetooth.BluetoothDevice, int, byte[]); 897 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean unregisterApp(); 898 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.hiddevice.profile.action.CONNECTION_STATE_CHANGED"; 899 field public static final byte ERROR_RSP_INVALID_PARAM = 4; // 0x4 900 field public static final byte ERROR_RSP_INVALID_RPT_ID = 2; // 0x2 901 field public static final byte ERROR_RSP_NOT_READY = 1; // 0x1 902 field public static final byte ERROR_RSP_SUCCESS = 0; // 0x0 903 field public static final byte ERROR_RSP_UNKNOWN = 14; // 0xe 904 field public static final byte ERROR_RSP_UNSUPPORTED_REQ = 3; // 0x3 905 field public static final byte PROTOCOL_BOOT_MODE = 0; // 0x0 906 field public static final byte PROTOCOL_REPORT_MODE = 1; // 0x1 907 field public static final byte REPORT_TYPE_FEATURE = 3; // 0x3 908 field public static final byte REPORT_TYPE_INPUT = 1; // 0x1 909 field public static final byte REPORT_TYPE_OUTPUT = 2; // 0x2 910 field public static final byte SUBCLASS1_COMBO = -64; // 0xffffffc0 911 field public static final byte SUBCLASS1_KEYBOARD = 64; // 0x40 912 field public static final byte SUBCLASS1_MOUSE = -128; // 0xffffff80 913 field public static final byte SUBCLASS1_NONE = 0; // 0x0 914 field public static final byte SUBCLASS2_CARD_READER = 6; // 0x6 915 field public static final byte SUBCLASS2_DIGITIZER_TABLET = 5; // 0x5 916 field public static final byte SUBCLASS2_GAMEPAD = 2; // 0x2 917 field public static final byte SUBCLASS2_JOYSTICK = 1; // 0x1 918 field public static final byte SUBCLASS2_REMOTE_CONTROL = 3; // 0x3 919 field public static final byte SUBCLASS2_SENSING_DEVICE = 4; // 0x4 920 field public static final byte SUBCLASS2_UNCATEGORIZED = 0; // 0x0 921 } 922 923 public abstract static class BluetoothHidDevice.Callback { 924 ctor public BluetoothHidDevice.Callback(); 925 method public void onAppStatusChanged(android.bluetooth.BluetoothDevice, boolean); 926 method public void onConnectionStateChanged(android.bluetooth.BluetoothDevice, int); 927 method public void onGetReport(android.bluetooth.BluetoothDevice, byte, byte, int); 928 method public void onInterruptData(android.bluetooth.BluetoothDevice, byte, byte[]); 929 method public void onSetProtocol(android.bluetooth.BluetoothDevice, byte); 930 method public void onSetReport(android.bluetooth.BluetoothDevice, byte, byte, byte[]); 931 method public void onVirtualCableUnplug(android.bluetooth.BluetoothDevice); 932 } 933 934 public final class BluetoothHidDeviceAppQosSettings implements android.os.Parcelable { 935 ctor public BluetoothHidDeviceAppQosSettings(int, int, int, int, int, int); 936 method public int describeContents(); 937 method public int getDelayVariation(); 938 method public int getLatency(); 939 method public int getPeakBandwidth(); 940 method public int getServiceType(); 941 method public int getTokenBucketSize(); 942 method public int getTokenRate(); 943 method public void writeToParcel(android.os.Parcel, int); 944 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHidDeviceAppQosSettings> CREATOR; 945 field public static final int MAX = -1; // 0xffffffff 946 field public static final int SERVICE_BEST_EFFORT = 1; // 0x1 947 field public static final int SERVICE_GUARANTEED = 2; // 0x2 948 field public static final int SERVICE_NO_TRAFFIC = 0; // 0x0 949 } 950 951 public final class BluetoothHidDeviceAppSdpSettings implements android.os.Parcelable { 952 ctor public BluetoothHidDeviceAppSdpSettings(String, String, String, byte, byte[]); 953 method public int describeContents(); 954 method public String getDescription(); 955 method public byte[] getDescriptors(); 956 method public String getName(); 957 method public String getProvider(); 958 method public byte getSubclass(); 959 method public void writeToParcel(android.os.Parcel, int); 960 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHidDeviceAppSdpSettings> CREATOR; 961 } 962 963 public final class BluetoothLeAudio implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile { 964 method public void close(); 965 method protected void finalize(); 966 method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 967 method @Nullable @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothDevice getConnectedGroupLeadDevice(int); 968 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice); 969 method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]); 970 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getGroupId(@NonNull android.bluetooth.BluetoothDevice); 971 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_LE_AUDIO_CONNECTION_STATE_CHANGED = "android.bluetooth.action.LE_AUDIO_CONNECTION_STATE_CHANGED"; 972 field public static final int GROUP_ID_INVALID = -1; // 0xffffffff 973 } 974 975 public final class BluetoothLeAudioCodecConfig implements android.os.Parcelable { 976 method public int describeContents(); 977 method public int getBitsPerSample(); 978 method public int getChannelCount(); 979 method @NonNull public String getCodecName(); 980 method public int getCodecPriority(); 981 method public int getCodecType(); 982 method public int getFrameDuration(); 983 method public int getMaxOctetsPerFrame(); 984 method public int getMinOctetsPerFrame(); 985 method public int getOctetsPerFrame(); 986 method public int getSampleRate(); 987 method public void writeToParcel(@NonNull android.os.Parcel, int); 988 field public static final int BITS_PER_SAMPLE_16 = 1; // 0x1 989 field public static final int BITS_PER_SAMPLE_24 = 2; // 0x2 990 field public static final int BITS_PER_SAMPLE_32 = 8; // 0x8 991 field public static final int BITS_PER_SAMPLE_NONE = 0; // 0x0 992 field public static final int CHANNEL_COUNT_1 = 1; // 0x1 993 field public static final int CHANNEL_COUNT_2 = 2; // 0x2 994 field public static final int CHANNEL_COUNT_NONE = 0; // 0x0 995 field public static final int CODEC_PRIORITY_DEFAULT = 0; // 0x0 996 field public static final int CODEC_PRIORITY_DISABLED = -1; // 0xffffffff 997 field public static final int CODEC_PRIORITY_HIGHEST = 1000000; // 0xf4240 998 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeAudioCodecConfig> CREATOR; 999 field public static final int FRAME_DURATION_10000 = 2; // 0x2 1000 field public static final int FRAME_DURATION_7500 = 1; // 0x1 1001 field public static final int FRAME_DURATION_NONE = 0; // 0x0 1002 field public static final int SAMPLE_RATE_11025 = 2; // 0x2 1003 field public static final int SAMPLE_RATE_16000 = 4; // 0x4 1004 field public static final int SAMPLE_RATE_176400 = 1024; // 0x400 1005 field public static final int SAMPLE_RATE_192000 = 2048; // 0x800 1006 field public static final int SAMPLE_RATE_22050 = 8; // 0x8 1007 field public static final int SAMPLE_RATE_24000 = 16; // 0x10 1008 field public static final int SAMPLE_RATE_32000 = 32; // 0x20 1009 field public static final int SAMPLE_RATE_384000 = 4096; // 0x1000 1010 field public static final int SAMPLE_RATE_44100 = 64; // 0x40 1011 field public static final int SAMPLE_RATE_48000 = 128; // 0x80 1012 field public static final int SAMPLE_RATE_8000 = 1; // 0x1 1013 field public static final int SAMPLE_RATE_88200 = 256; // 0x100 1014 field public static final int SAMPLE_RATE_96000 = 512; // 0x200 1015 field public static final int SAMPLE_RATE_NONE = 0; // 0x0 1016 field public static final int SOURCE_CODEC_TYPE_INVALID = 1000000; // 0xf4240 1017 field public static final int SOURCE_CODEC_TYPE_LC3 = 0; // 0x0 1018 field @FlaggedApi("com.android.bluetooth.flags.leaudio_add_opus_codec_type") public static final int SOURCE_CODEC_TYPE_OPUS = 1; // 0x1 1019 } 1020 1021 public static final class BluetoothLeAudioCodecConfig.Builder { 1022 ctor public BluetoothLeAudioCodecConfig.Builder(); 1023 ctor public BluetoothLeAudioCodecConfig.Builder(@NonNull android.bluetooth.BluetoothLeAudioCodecConfig); 1024 method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfig build(); 1025 method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfig.Builder setBitsPerSample(int); 1026 method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfig.Builder setChannelCount(int); 1027 method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfig.Builder setCodecPriority(int); 1028 method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfig.Builder setCodecType(int); 1029 method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfig.Builder setFrameDuration(int); 1030 method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfig.Builder setMaxOctetsPerFrame(int); 1031 method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfig.Builder setMinOctetsPerFrame(int); 1032 method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfig.Builder setOctetsPerFrame(int); 1033 method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfig.Builder setSampleRate(int); 1034 } 1035 1036 public final class BluetoothLeAudioCodecStatus implements android.os.Parcelable { 1037 ctor public BluetoothLeAudioCodecStatus(@Nullable android.bluetooth.BluetoothLeAudioCodecConfig, @Nullable android.bluetooth.BluetoothLeAudioCodecConfig, @NonNull java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig>, @NonNull java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig>, @NonNull java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig>, @NonNull java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig>); 1038 method public int describeContents(); 1039 method @Nullable public android.bluetooth.BluetoothLeAudioCodecConfig getInputCodecConfig(); 1040 method @NonNull public java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig> getInputCodecLocalCapabilities(); 1041 method @NonNull public java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig> getInputCodecSelectableCapabilities(); 1042 method @Nullable public android.bluetooth.BluetoothLeAudioCodecConfig getOutputCodecConfig(); 1043 method @NonNull public java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig> getOutputCodecLocalCapabilities(); 1044 method @NonNull public java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig> getOutputCodecSelectableCapabilities(); 1045 method public boolean isInputCodecConfigSelectable(@Nullable android.bluetooth.BluetoothLeAudioCodecConfig); 1046 method public boolean isOutputCodecConfigSelectable(@Nullable android.bluetooth.BluetoothLeAudioCodecConfig); 1047 method public void writeToParcel(@NonNull android.os.Parcel, int); 1048 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeAudioCodecStatus> CREATOR; 1049 field public static final String EXTRA_LE_AUDIO_CODEC_STATUS = "android.bluetooth.extra.LE_AUDIO_CODEC_STATUS"; 1050 } 1051 1052 public final class BluetoothManager { 1053 method public android.bluetooth.BluetoothAdapter getAdapter(); 1054 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(int); 1055 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice, int); 1056 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int, int[]); 1057 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGattServer openGattServer(android.content.Context, android.bluetooth.BluetoothGattServerCallback); 1058 } 1059 1060 public interface BluetoothProfile { 1061 method public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 1062 method public int getConnectionState(android.bluetooth.BluetoothDevice); 1063 method public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]); 1064 field public static final int A2DP = 2; // 0x2 1065 field public static final int CSIP_SET_COORDINATOR = 25; // 0x19 1066 field public static final String EXTRA_PREVIOUS_STATE = "android.bluetooth.profile.extra.PREVIOUS_STATE"; 1067 field public static final String EXTRA_STATE = "android.bluetooth.profile.extra.STATE"; 1068 field public static final int GATT = 7; // 0x7 1069 field public static final int GATT_SERVER = 8; // 0x8 1070 field public static final int HAP_CLIENT = 28; // 0x1c 1071 field public static final int HEADSET = 1; // 0x1 1072 field @Deprecated public static final int HEALTH = 3; // 0x3 1073 field public static final int HEARING_AID = 21; // 0x15 1074 field public static final int HID_DEVICE = 19; // 0x13 1075 field public static final int LE_AUDIO = 22; // 0x16 1076 field public static final int SAP = 10; // 0xa 1077 field public static final int STATE_CONNECTED = 2; // 0x2 1078 field public static final int STATE_CONNECTING = 1; // 0x1 1079 field public static final int STATE_DISCONNECTED = 0; // 0x0 1080 field public static final int STATE_DISCONNECTING = 3; // 0x3 1081 } 1082 1083 public static interface BluetoothProfile.ServiceListener { 1084 method public void onServiceConnected(int, android.bluetooth.BluetoothProfile); 1085 method public void onServiceDisconnected(int); 1086 } 1087 1088 public final class BluetoothServerSocket implements java.io.Closeable { 1089 method public android.bluetooth.BluetoothSocket accept() throws java.io.IOException; 1090 method public android.bluetooth.BluetoothSocket accept(int) throws java.io.IOException; 1091 method public void close() throws java.io.IOException; 1092 method public int getPsm(); 1093 } 1094 1095 public final class BluetoothSocket implements java.io.Closeable { 1096 method public void close() throws java.io.IOException; 1097 method @FlaggedApi("com.android.bluetooth.flags.socket_settings_api") @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}, conditional=true) public void connect() throws java.io.IOException; 1098 method public int getConnectionType(); 1099 method public java.io.InputStream getInputStream() throws java.io.IOException; 1100 method public int getMaxReceivePacketSize(); 1101 method public int getMaxTransmitPacketSize(); 1102 method public java.io.OutputStream getOutputStream() throws java.io.IOException; 1103 method public android.bluetooth.BluetoothDevice getRemoteDevice(); 1104 method public boolean isConnected(); 1105 field public static final int TYPE_L2CAP = 3; // 0x3 1106 field @FlaggedApi("com.android.bluetooth.flags.socket_settings_api") public static final int TYPE_LE = 4; // 0x4 1107 field public static final int TYPE_RFCOMM = 1; // 0x1 1108 field public static final int TYPE_SCO = 2; // 0x2 1109 } 1110 1111 public class BluetoothSocketException extends java.io.IOException { 1112 ctor public BluetoothSocketException(int, @NonNull String); 1113 ctor public BluetoothSocketException(int); 1114 method public int getErrorCode(); 1115 field public static final int BLUETOOTH_OFF_FAILURE = 15; // 0xf 1116 field public static final int L2CAP_ACL_FAILURE = 2; // 0x2 1117 field public static final int L2CAP_CLIENT_SECURITY_FAILURE = 3; // 0x3 1118 field public static final int L2CAP_INSUFFICIENT_AUTHENTICATION = 4; // 0x4 1119 field public static final int L2CAP_INSUFFICIENT_AUTHORIZATION = 5; // 0x5 1120 field public static final int L2CAP_INSUFFICIENT_ENCRYPTION = 7; // 0x7 1121 field public static final int L2CAP_INSUFFICIENT_ENCRYPT_KEY_SIZE = 6; // 0x6 1122 field public static final int L2CAP_INVALID_PARAMETERS = 11; // 0xb 1123 field public static final int L2CAP_INVALID_SOURCE_CID = 8; // 0x8 1124 field public static final int L2CAP_NO_PSM_AVAILABLE = 13; // 0xd 1125 field public static final int L2CAP_NO_RESOURCES = 12; // 0xc 1126 field public static final int L2CAP_SOURCE_CID_ALREADY_ALLOCATED = 9; // 0x9 1127 field public static final int L2CAP_TIMEOUT = 14; // 0xe 1128 field public static final int L2CAP_UNACCEPTABLE_PARAMETERS = 10; // 0xa 1129 field public static final int L2CAP_UNKNOWN = 1; // 0x1 1130 field public static final int NULL_DEVICE = 19; // 0x13 1131 field public static final int RPC_FAILURE = 20; // 0x14 1132 field public static final int SOCKET_CLOSED = 17; // 0x11 1133 field public static final int SOCKET_CONNECTION_FAILURE = 18; // 0x12 1134 field public static final int SOCKET_MANAGER_FAILURE = 16; // 0x10 1135 field @FlaggedApi("com.android.bluetooth.flags.unix_file_socket_creation_failure") public static final int UNIX_FILE_SOCKET_CREATION_FAILURE = 21; // 0x15 1136 field public static final int UNSPECIFIED = 0; // 0x0 1137 } 1138 1139 @FlaggedApi("com.android.bluetooth.flags.socket_settings_api") public final class BluetoothSocketSettings { 1140 method @IntRange(from=128, to=255) public int getL2capPsm(); 1141 method @Nullable public String getRfcommServiceName(); 1142 method @Nullable public java.util.UUID getRfcommUuid(); 1143 method public int getSocketType(); 1144 method public boolean isAuthenticationRequired(); 1145 method public boolean isEncryptionRequired(); 1146 } 1147 1148 @FlaggedApi("com.android.bluetooth.flags.socket_settings_api") public static final class BluetoothSocketSettings.Builder { 1149 ctor public BluetoothSocketSettings.Builder(); 1150 method @NonNull public android.bluetooth.BluetoothSocketSettings build(); 1151 method @NonNull public android.bluetooth.BluetoothSocketSettings.Builder setAuthenticationRequired(boolean); 1152 method @NonNull public android.bluetooth.BluetoothSocketSettings.Builder setEncryptionRequired(boolean); 1153 method @NonNull public android.bluetooth.BluetoothSocketSettings.Builder setL2capPsm(@IntRange(from=128, to=255) int); 1154 method @NonNull public android.bluetooth.BluetoothSocketSettings.Builder setRfcommServiceName(@NonNull String); 1155 method @NonNull public android.bluetooth.BluetoothSocketSettings.Builder setRfcommUuid(@NonNull java.util.UUID); 1156 method @NonNull public android.bluetooth.BluetoothSocketSettings.Builder setSocketType(int); 1157 } 1158 1159 public final class BluetoothStatusCodes { 1160 field public static final int ERROR_BLUETOOTH_NOT_ALLOWED = 2; // 0x2 1161 field public static final int ERROR_BLUETOOTH_NOT_ENABLED = 1; // 0x1 1162 field public static final int ERROR_DEVICE_NOT_BONDED = 3; // 0x3 1163 field public static final int ERROR_GATT_WRITE_NOT_ALLOWED = 200; // 0xc8 1164 field public static final int ERROR_GATT_WRITE_REQUEST_BUSY = 201; // 0xc9 1165 field public static final int ERROR_MISSING_BLUETOOTH_CONNECT_PERMISSION = 6; // 0x6 1166 field public static final int ERROR_PROFILE_SERVICE_NOT_BOUND = 9; // 0x9 1167 field public static final int ERROR_UNKNOWN = 2147483647; // 0x7fffffff 1168 field public static final int FEATURE_NOT_CONFIGURED = 30; // 0x1e 1169 field public static final int FEATURE_NOT_SUPPORTED = 11; // 0xb 1170 field public static final int FEATURE_SUPPORTED = 10; // 0xa 1171 field public static final int SUCCESS = 0; // 0x0 1172 } 1173 1174} 1175 1176package android.bluetooth.le { 1177 1178 public abstract class AdvertiseCallback { 1179 ctor public AdvertiseCallback(); 1180 method public void onStartFailure(int); 1181 method public void onStartSuccess(android.bluetooth.le.AdvertiseSettings); 1182 field public static final int ADVERTISE_FAILED_ALREADY_STARTED = 3; // 0x3 1183 field public static final int ADVERTISE_FAILED_DATA_TOO_LARGE = 1; // 0x1 1184 field public static final int ADVERTISE_FAILED_FEATURE_UNSUPPORTED = 5; // 0x5 1185 field public static final int ADVERTISE_FAILED_INTERNAL_ERROR = 4; // 0x4 1186 field public static final int ADVERTISE_FAILED_TOO_MANY_ADVERTISERS = 2; // 0x2 1187 } 1188 1189 public final class AdvertiseData implements android.os.Parcelable { 1190 method public int describeContents(); 1191 method public boolean getIncludeDeviceName(); 1192 method public boolean getIncludeTxPowerLevel(); 1193 method public android.util.SparseArray<byte[]> getManufacturerSpecificData(); 1194 method public java.util.Map<android.os.ParcelUuid,byte[]> getServiceData(); 1195 method @NonNull public java.util.List<android.os.ParcelUuid> getServiceSolicitationUuids(); 1196 method public java.util.List<android.os.ParcelUuid> getServiceUuids(); 1197 method @NonNull public java.util.List<android.bluetooth.le.TransportDiscoveryData> getTransportDiscoveryData(); 1198 method public void writeToParcel(android.os.Parcel, int); 1199 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.AdvertiseData> CREATOR; 1200 } 1201 1202 public static final class AdvertiseData.Builder { 1203 ctor public AdvertiseData.Builder(); 1204 method public android.bluetooth.le.AdvertiseData.Builder addManufacturerData(int, byte[]); 1205 method public android.bluetooth.le.AdvertiseData.Builder addServiceData(android.os.ParcelUuid, byte[]); 1206 method @NonNull public android.bluetooth.le.AdvertiseData.Builder addServiceSolicitationUuid(@NonNull android.os.ParcelUuid); 1207 method public android.bluetooth.le.AdvertiseData.Builder addServiceUuid(android.os.ParcelUuid); 1208 method @NonNull public android.bluetooth.le.AdvertiseData.Builder addTransportDiscoveryData(@NonNull android.bluetooth.le.TransportDiscoveryData); 1209 method public android.bluetooth.le.AdvertiseData build(); 1210 method public android.bluetooth.le.AdvertiseData.Builder setIncludeDeviceName(boolean); 1211 method public android.bluetooth.le.AdvertiseData.Builder setIncludeTxPowerLevel(boolean); 1212 } 1213 1214 public final class AdvertiseSettings implements android.os.Parcelable { 1215 method public int describeContents(); 1216 method public int getMode(); 1217 method public int getTimeout(); 1218 method public int getTxPowerLevel(); 1219 method public boolean isConnectable(); 1220 method public boolean isDiscoverable(); 1221 method public void writeToParcel(android.os.Parcel, int); 1222 field public static final int ADVERTISE_MODE_BALANCED = 1; // 0x1 1223 field public static final int ADVERTISE_MODE_LOW_LATENCY = 2; // 0x2 1224 field public static final int ADVERTISE_MODE_LOW_POWER = 0; // 0x0 1225 field public static final int ADVERTISE_TX_POWER_HIGH = 3; // 0x3 1226 field public static final int ADVERTISE_TX_POWER_LOW = 1; // 0x1 1227 field public static final int ADVERTISE_TX_POWER_MEDIUM = 2; // 0x2 1228 field public static final int ADVERTISE_TX_POWER_ULTRA_LOW = 0; // 0x0 1229 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.AdvertiseSettings> CREATOR; 1230 } 1231 1232 public static final class AdvertiseSettings.Builder { 1233 ctor public AdvertiseSettings.Builder(); 1234 method public android.bluetooth.le.AdvertiseSettings build(); 1235 method public android.bluetooth.le.AdvertiseSettings.Builder setAdvertiseMode(int); 1236 method public android.bluetooth.le.AdvertiseSettings.Builder setConnectable(boolean); 1237 method @NonNull public android.bluetooth.le.AdvertiseSettings.Builder setDiscoverable(boolean); 1238 method public android.bluetooth.le.AdvertiseSettings.Builder setTimeout(int); 1239 method public android.bluetooth.le.AdvertiseSettings.Builder setTxPowerLevel(int); 1240 } 1241 1242 public final class AdvertisingSet { 1243 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void enableAdvertising(boolean, int, int); 1244 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setAdvertisingData(android.bluetooth.le.AdvertiseData); 1245 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setAdvertisingParameters(android.bluetooth.le.AdvertisingSetParameters); 1246 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setPeriodicAdvertisingData(android.bluetooth.le.AdvertiseData); 1247 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setPeriodicAdvertisingEnabled(boolean); 1248 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setPeriodicAdvertisingParameters(android.bluetooth.le.PeriodicAdvertisingParameters); 1249 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setScanResponseData(android.bluetooth.le.AdvertiseData); 1250 } 1251 1252 public abstract class AdvertisingSetCallback { 1253 ctor public AdvertisingSetCallback(); 1254 method public void onAdvertisingDataSet(android.bluetooth.le.AdvertisingSet, int); 1255 method public void onAdvertisingEnabled(android.bluetooth.le.AdvertisingSet, boolean, int); 1256 method public void onAdvertisingParametersUpdated(android.bluetooth.le.AdvertisingSet, int, int); 1257 method public void onAdvertisingSetStarted(android.bluetooth.le.AdvertisingSet, int, int); 1258 method public void onAdvertisingSetStopped(android.bluetooth.le.AdvertisingSet); 1259 method public void onPeriodicAdvertisingDataSet(android.bluetooth.le.AdvertisingSet, int); 1260 method public void onPeriodicAdvertisingEnabled(android.bluetooth.le.AdvertisingSet, boolean, int); 1261 method public void onPeriodicAdvertisingParametersUpdated(android.bluetooth.le.AdvertisingSet, int); 1262 method public void onScanResponseDataSet(android.bluetooth.le.AdvertisingSet, int); 1263 field public static final int ADVERTISE_FAILED_ALREADY_STARTED = 3; // 0x3 1264 field public static final int ADVERTISE_FAILED_DATA_TOO_LARGE = 1; // 0x1 1265 field public static final int ADVERTISE_FAILED_FEATURE_UNSUPPORTED = 5; // 0x5 1266 field public static final int ADVERTISE_FAILED_INTERNAL_ERROR = 4; // 0x4 1267 field public static final int ADVERTISE_FAILED_TOO_MANY_ADVERTISERS = 2; // 0x2 1268 field public static final int ADVERTISE_SUCCESS = 0; // 0x0 1269 } 1270 1271 public final class AdvertisingSetParameters implements android.os.Parcelable { 1272 method public int describeContents(); 1273 method public int getInterval(); 1274 method public int getPrimaryPhy(); 1275 method public int getSecondaryPhy(); 1276 method public int getTxPowerLevel(); 1277 method public boolean includeTxPower(); 1278 method public boolean isAnonymous(); 1279 method public boolean isConnectable(); 1280 method public boolean isDiscoverable(); 1281 method public boolean isLegacy(); 1282 method public boolean isScannable(); 1283 method public void writeToParcel(android.os.Parcel, int); 1284 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.AdvertisingSetParameters> CREATOR; 1285 field public static final int INTERVAL_HIGH = 1600; // 0x640 1286 field public static final int INTERVAL_LOW = 160; // 0xa0 1287 field public static final int INTERVAL_MAX = 16777215; // 0xffffff 1288 field public static final int INTERVAL_MEDIUM = 400; // 0x190 1289 field public static final int INTERVAL_MIN = 160; // 0xa0 1290 field public static final int TX_POWER_HIGH = 1; // 0x1 1291 field public static final int TX_POWER_LOW = -15; // 0xfffffff1 1292 field public static final int TX_POWER_MAX = 1; // 0x1 1293 field public static final int TX_POWER_MEDIUM = -7; // 0xfffffff9 1294 field public static final int TX_POWER_MIN = -127; // 0xffffff81 1295 field public static final int TX_POWER_ULTRA_LOW = -21; // 0xffffffeb 1296 } 1297 1298 public static final class AdvertisingSetParameters.Builder { 1299 ctor public AdvertisingSetParameters.Builder(); 1300 method public android.bluetooth.le.AdvertisingSetParameters build(); 1301 method public android.bluetooth.le.AdvertisingSetParameters.Builder setAnonymous(boolean); 1302 method public android.bluetooth.le.AdvertisingSetParameters.Builder setConnectable(boolean); 1303 method @NonNull public android.bluetooth.le.AdvertisingSetParameters.Builder setDiscoverable(boolean); 1304 method public android.bluetooth.le.AdvertisingSetParameters.Builder setIncludeTxPower(boolean); 1305 method public android.bluetooth.le.AdvertisingSetParameters.Builder setInterval(int); 1306 method public android.bluetooth.le.AdvertisingSetParameters.Builder setLegacyMode(boolean); 1307 method public android.bluetooth.le.AdvertisingSetParameters.Builder setPrimaryPhy(int); 1308 method public android.bluetooth.le.AdvertisingSetParameters.Builder setScannable(boolean); 1309 method public android.bluetooth.le.AdvertisingSetParameters.Builder setSecondaryPhy(int); 1310 method public android.bluetooth.le.AdvertisingSetParameters.Builder setTxPowerLevel(int); 1311 } 1312 1313 public final class BluetoothLeAdvertiser { 1314 method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}, conditional=true) public void startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback); 1315 method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}, conditional=true) public void startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback); 1316 method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}, conditional=true) public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback); 1317 method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}, conditional=true) public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler); 1318 method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}, conditional=true) public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, int, android.bluetooth.le.AdvertisingSetCallback); 1319 method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}, conditional=true) public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, int, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler); 1320 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void stopAdvertising(android.bluetooth.le.AdvertiseCallback); 1321 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void stopAdvertisingSet(android.bluetooth.le.AdvertisingSetCallback); 1322 } 1323 1324 public final class BluetoothLeScanner { 1325 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void flushPendingScanResults(android.bluetooth.le.ScanCallback); 1326 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void startScan(android.bluetooth.le.ScanCallback); 1327 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void startScan(java.util.List<android.bluetooth.le.ScanFilter>, android.bluetooth.le.ScanSettings, android.bluetooth.le.ScanCallback); 1328 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public int startScan(@Nullable java.util.List<android.bluetooth.le.ScanFilter>, @Nullable android.bluetooth.le.ScanSettings, @NonNull android.app.PendingIntent); 1329 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void stopScan(android.bluetooth.le.ScanCallback); 1330 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void stopScan(android.app.PendingIntent); 1331 field public static final String EXTRA_CALLBACK_TYPE = "android.bluetooth.le.extra.CALLBACK_TYPE"; 1332 field public static final String EXTRA_ERROR_CODE = "android.bluetooth.le.extra.ERROR_CODE"; 1333 field public static final String EXTRA_LIST_SCAN_RESULT = "android.bluetooth.le.extra.LIST_SCAN_RESULT"; 1334 } 1335 1336 public final class PeriodicAdvertisingParameters implements android.os.Parcelable { 1337 method public int describeContents(); 1338 method public boolean getIncludeTxPower(); 1339 method public int getInterval(); 1340 method public void writeToParcel(android.os.Parcel, int); 1341 field public static final android.os.Parcelable.Creator<android.bluetooth.le.PeriodicAdvertisingParameters> CREATOR; 1342 } 1343 1344 public static final class PeriodicAdvertisingParameters.Builder { 1345 ctor public PeriodicAdvertisingParameters.Builder(); 1346 method public android.bluetooth.le.PeriodicAdvertisingParameters build(); 1347 method public android.bluetooth.le.PeriodicAdvertisingParameters.Builder setIncludeTxPower(boolean); 1348 method public android.bluetooth.le.PeriodicAdvertisingParameters.Builder setInterval(int); 1349 } 1350 1351 public abstract class ScanCallback { 1352 ctor public ScanCallback(); 1353 method public void onBatchScanResults(java.util.List<android.bluetooth.le.ScanResult>); 1354 method public void onScanFailed(int); 1355 method public void onScanResult(int, android.bluetooth.le.ScanResult); 1356 field public static final int SCAN_FAILED_ALREADY_STARTED = 1; // 0x1 1357 field public static final int SCAN_FAILED_APPLICATION_REGISTRATION_FAILED = 2; // 0x2 1358 field public static final int SCAN_FAILED_FEATURE_UNSUPPORTED = 4; // 0x4 1359 field public static final int SCAN_FAILED_INTERNAL_ERROR = 3; // 0x3 1360 field public static final int SCAN_FAILED_OUT_OF_HARDWARE_RESOURCES = 5; // 0x5 1361 field public static final int SCAN_FAILED_SCANNING_TOO_FREQUENTLY = 6; // 0x6 1362 } 1363 1364 public final class ScanFilter implements android.os.Parcelable { 1365 method public int describeContents(); 1366 method @Nullable public byte[] getAdvertisingData(); 1367 method @Nullable public byte[] getAdvertisingDataMask(); 1368 method public int getAdvertisingDataType(); 1369 method @Nullable public String getDeviceAddress(); 1370 method @Nullable public String getDeviceName(); 1371 method @Nullable public byte[] getManufacturerData(); 1372 method @Nullable public byte[] getManufacturerDataMask(); 1373 method public int getManufacturerId(); 1374 method @Nullable public byte[] getServiceData(); 1375 method @Nullable public byte[] getServiceDataMask(); 1376 method @Nullable public android.os.ParcelUuid getServiceDataUuid(); 1377 method @Nullable public android.os.ParcelUuid getServiceSolicitationUuid(); 1378 method @Nullable public android.os.ParcelUuid getServiceSolicitationUuidMask(); 1379 method @Nullable public android.os.ParcelUuid getServiceUuid(); 1380 method @Nullable public android.os.ParcelUuid getServiceUuidMask(); 1381 method public boolean matches(android.bluetooth.le.ScanResult); 1382 method public void writeToParcel(android.os.Parcel, int); 1383 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ScanFilter> CREATOR; 1384 } 1385 1386 public static final class ScanFilter.Builder { 1387 ctor public ScanFilter.Builder(); 1388 method public android.bluetooth.le.ScanFilter build(); 1389 method @NonNull public android.bluetooth.le.ScanFilter.Builder setAdvertisingDataType(int); 1390 method @NonNull public android.bluetooth.le.ScanFilter.Builder setAdvertisingDataTypeWithData(int, @NonNull byte[], @NonNull byte[]); 1391 method public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(String); 1392 method public android.bluetooth.le.ScanFilter.Builder setDeviceName(String); 1393 method public android.bluetooth.le.ScanFilter.Builder setManufacturerData(int, byte[]); 1394 method public android.bluetooth.le.ScanFilter.Builder setManufacturerData(int, byte[], byte[]); 1395 method public android.bluetooth.le.ScanFilter.Builder setServiceData(android.os.ParcelUuid, byte[]); 1396 method public android.bluetooth.le.ScanFilter.Builder setServiceData(android.os.ParcelUuid, byte[], byte[]); 1397 method @NonNull public android.bluetooth.le.ScanFilter.Builder setServiceSolicitationUuid(@Nullable android.os.ParcelUuid); 1398 method @NonNull public android.bluetooth.le.ScanFilter.Builder setServiceSolicitationUuid(@Nullable android.os.ParcelUuid, @Nullable android.os.ParcelUuid); 1399 method public android.bluetooth.le.ScanFilter.Builder setServiceUuid(android.os.ParcelUuid); 1400 method public android.bluetooth.le.ScanFilter.Builder setServiceUuid(android.os.ParcelUuid, android.os.ParcelUuid); 1401 } 1402 1403 public final class ScanRecord { 1404 method public int getAdvertiseFlags(); 1405 method @NonNull public java.util.Map<java.lang.Integer,byte[]> getAdvertisingDataMap(); 1406 method public byte[] getBytes(); 1407 method @Nullable public String getDeviceName(); 1408 method public android.util.SparseArray<byte[]> getManufacturerSpecificData(); 1409 method @Nullable public byte[] getManufacturerSpecificData(int); 1410 method public java.util.Map<android.os.ParcelUuid,byte[]> getServiceData(); 1411 method @Nullable public byte[] getServiceData(android.os.ParcelUuid); 1412 method @NonNull public java.util.List<android.os.ParcelUuid> getServiceSolicitationUuids(); 1413 method public java.util.List<android.os.ParcelUuid> getServiceUuids(); 1414 method public int getTxPowerLevel(); 1415 field public static final int DATA_TYPE_3D_INFORMATION_DATA = 61; // 0x3d 1416 field public static final int DATA_TYPE_ADVERTISING_INTERVAL = 26; // 0x1a 1417 field public static final int DATA_TYPE_ADVERTISING_INTERVAL_LONG = 47; // 0x2f 1418 field public static final int DATA_TYPE_APPEARANCE = 25; // 0x19 1419 field public static final int DATA_TYPE_BIG_INFO = 44; // 0x2c 1420 field public static final int DATA_TYPE_BROADCAST_CODE = 45; // 0x2d 1421 field public static final int DATA_TYPE_CHANNEL_MAP_UPDATE_INDICATION = 40; // 0x28 1422 field public static final int DATA_TYPE_CLASS_OF_DEVICE = 13; // 0xd 1423 field public static final int DATA_TYPE_DEVICE_ID = 16; // 0x10 1424 field public static final int DATA_TYPE_FLAGS = 1; // 0x1 1425 field public static final int DATA_TYPE_INDOOR_POSITIONING = 37; // 0x25 1426 field public static final int DATA_TYPE_LE_BLUETOOTH_DEVICE_ADDRESS = 27; // 0x1b 1427 field public static final int DATA_TYPE_LE_ROLE = 28; // 0x1c 1428 field public static final int DATA_TYPE_LE_SECURE_CONNECTIONS_CONFIRMATION_VALUE = 34; // 0x22 1429 field public static final int DATA_TYPE_LE_SECURE_CONNECTIONS_RANDOM_VALUE = 35; // 0x23 1430 field public static final int DATA_TYPE_LE_SUPPORTED_FEATURES = 39; // 0x27 1431 field public static final int DATA_TYPE_LOCAL_NAME_COMPLETE = 9; // 0x9 1432 field public static final int DATA_TYPE_LOCAL_NAME_SHORT = 8; // 0x8 1433 field public static final int DATA_TYPE_MANUFACTURER_SPECIFIC_DATA = 255; // 0xff 1434 field public static final int DATA_TYPE_MESH_BEACON = 43; // 0x2b 1435 field public static final int DATA_TYPE_MESH_MESSAGE = 42; // 0x2a 1436 field public static final int DATA_TYPE_NONE = -1; // 0xffffffff 1437 field public static final int DATA_TYPE_PB_ADV = 41; // 0x29 1438 field public static final int DATA_TYPE_PUBLIC_TARGET_ADDRESS = 23; // 0x17 1439 field public static final int DATA_TYPE_RANDOM_TARGET_ADDRESS = 24; // 0x18 1440 field public static final int DATA_TYPE_RESOLVABLE_SET_IDENTIFIER = 46; // 0x2e 1441 field public static final int DATA_TYPE_SECURITY_MANAGER_OUT_OF_BAND_FLAGS = 17; // 0x11 1442 field public static final int DATA_TYPE_SERVICE_DATA_128_BIT = 33; // 0x21 1443 field public static final int DATA_TYPE_SERVICE_DATA_16_BIT = 22; // 0x16 1444 field public static final int DATA_TYPE_SERVICE_DATA_32_BIT = 32; // 0x20 1445 field public static final int DATA_TYPE_SERVICE_SOLICITATION_UUIDS_128_BIT = 21; // 0x15 1446 field public static final int DATA_TYPE_SERVICE_SOLICITATION_UUIDS_16_BIT = 20; // 0x14 1447 field public static final int DATA_TYPE_SERVICE_SOLICITATION_UUIDS_32_BIT = 31; // 0x1f 1448 field public static final int DATA_TYPE_SERVICE_UUIDS_128_BIT_COMPLETE = 7; // 0x7 1449 field public static final int DATA_TYPE_SERVICE_UUIDS_128_BIT_PARTIAL = 6; // 0x6 1450 field public static final int DATA_TYPE_SERVICE_UUIDS_16_BIT_COMPLETE = 3; // 0x3 1451 field public static final int DATA_TYPE_SERVICE_UUIDS_16_BIT_PARTIAL = 2; // 0x2 1452 field public static final int DATA_TYPE_SERVICE_UUIDS_32_BIT_COMPLETE = 5; // 0x5 1453 field public static final int DATA_TYPE_SERVICE_UUIDS_32_BIT_PARTIAL = 4; // 0x4 1454 field public static final int DATA_TYPE_SIMPLE_PAIRING_HASH_C = 14; // 0xe 1455 field public static final int DATA_TYPE_SIMPLE_PAIRING_HASH_C_256 = 29; // 0x1d 1456 field public static final int DATA_TYPE_SIMPLE_PAIRING_RANDOMIZER_R = 15; // 0xf 1457 field public static final int DATA_TYPE_SIMPLE_PAIRING_RANDOMIZER_R_256 = 30; // 0x1e 1458 field public static final int DATA_TYPE_SLAVE_CONNECTION_INTERVAL_RANGE = 18; // 0x12 1459 field public static final int DATA_TYPE_TRANSPORT_DISCOVERY_DATA = 38; // 0x26 1460 field public static final int DATA_TYPE_TX_POWER_LEVEL = 10; // 0xa 1461 field public static final int DATA_TYPE_URI = 36; // 0x24 1462 } 1463 1464 public final class ScanResult implements android.os.Parcelable { 1465 ctor @Deprecated public ScanResult(android.bluetooth.BluetoothDevice, android.bluetooth.le.ScanRecord, int, long); 1466 ctor public ScanResult(android.bluetooth.BluetoothDevice, int, int, int, int, int, int, int, android.bluetooth.le.ScanRecord, long); 1467 method public int describeContents(); 1468 method public int getAdvertisingSid(); 1469 method public int getDataStatus(); 1470 method public android.bluetooth.BluetoothDevice getDevice(); 1471 method public int getPeriodicAdvertisingInterval(); 1472 method public int getPrimaryPhy(); 1473 method public int getRssi(); 1474 method @Nullable public android.bluetooth.le.ScanRecord getScanRecord(); 1475 method public int getSecondaryPhy(); 1476 method public long getTimestampNanos(); 1477 method public int getTxPower(); 1478 method public boolean isConnectable(); 1479 method public boolean isLegacy(); 1480 method public void writeToParcel(android.os.Parcel, int); 1481 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ScanResult> CREATOR; 1482 field public static final int DATA_COMPLETE = 0; // 0x0 1483 field public static final int DATA_TRUNCATED = 2; // 0x2 1484 field public static final int PERIODIC_INTERVAL_NOT_PRESENT = 0; // 0x0 1485 field public static final int PHY_UNUSED = 0; // 0x0 1486 field public static final int SID_NOT_PRESENT = 255; // 0xff 1487 field public static final int TX_POWER_NOT_PRESENT = 127; // 0x7f 1488 } 1489 1490 public final class ScanSettings implements android.os.Parcelable { 1491 method public int describeContents(); 1492 method public int getCallbackType(); 1493 method public boolean getLegacy(); 1494 method public int getPhy(); 1495 method public long getReportDelayMillis(); 1496 method public int getScanMode(); 1497 method public int getScanResultType(); 1498 method public void writeToParcel(android.os.Parcel, int); 1499 field public static final long AUTO_BATCH_MIN_REPORT_DELAY_MILLIS = 600000L; // 0x927c0L 1500 field public static final int CALLBACK_TYPE_ALL_MATCHES = 1; // 0x1 1501 field public static final int CALLBACK_TYPE_ALL_MATCHES_AUTO_BATCH = 8; // 0x8 1502 field public static final int CALLBACK_TYPE_FIRST_MATCH = 2; // 0x2 1503 field public static final int CALLBACK_TYPE_MATCH_LOST = 4; // 0x4 1504 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ScanSettings> CREATOR; 1505 field public static final int MATCH_MODE_AGGRESSIVE = 1; // 0x1 1506 field public static final int MATCH_MODE_STICKY = 2; // 0x2 1507 field public static final int MATCH_NUM_FEW_ADVERTISEMENT = 2; // 0x2 1508 field public static final int MATCH_NUM_MAX_ADVERTISEMENT = 3; // 0x3 1509 field public static final int MATCH_NUM_ONE_ADVERTISEMENT = 1; // 0x1 1510 field public static final int PHY_LE_ALL_SUPPORTED = 255; // 0xff 1511 field public static final int SCAN_MODE_BALANCED = 1; // 0x1 1512 field public static final int SCAN_MODE_LOW_LATENCY = 2; // 0x2 1513 field public static final int SCAN_MODE_LOW_POWER = 0; // 0x0 1514 field public static final int SCAN_MODE_OPPORTUNISTIC = -1; // 0xffffffff 1515 } 1516 1517 public static final class ScanSettings.Builder { 1518 ctor public ScanSettings.Builder(); 1519 method public android.bluetooth.le.ScanSettings build(); 1520 method public android.bluetooth.le.ScanSettings.Builder setCallbackType(int); 1521 method public android.bluetooth.le.ScanSettings.Builder setLegacy(boolean); 1522 method public android.bluetooth.le.ScanSettings.Builder setMatchMode(int); 1523 method public android.bluetooth.le.ScanSettings.Builder setNumOfMatches(int); 1524 method public android.bluetooth.le.ScanSettings.Builder setPhy(int); 1525 method public android.bluetooth.le.ScanSettings.Builder setReportDelay(long); 1526 method public android.bluetooth.le.ScanSettings.Builder setScanMode(int); 1527 } 1528 1529 public final class TransportBlock implements android.os.Parcelable { 1530 ctor public TransportBlock(int, int, int, @Nullable byte[]); 1531 method public int describeContents(); 1532 method public int getOrgId(); 1533 method public int getTdsFlags(); 1534 method @Nullable public byte[] getTransportData(); 1535 method public int getTransportDataLength(); 1536 method @Nullable public byte[] toByteArray(); 1537 method public int totalBytes(); 1538 method public void writeToParcel(@NonNull android.os.Parcel, int); 1539 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.TransportBlock> CREATOR; 1540 } 1541 1542 public final class TransportDiscoveryData implements android.os.Parcelable { 1543 ctor public TransportDiscoveryData(int, @NonNull java.util.List<android.bluetooth.le.TransportBlock>); 1544 ctor public TransportDiscoveryData(@NonNull byte[]); 1545 method public int describeContents(); 1546 method @NonNull public java.util.List<android.bluetooth.le.TransportBlock> getTransportBlocks(); 1547 method public int getTransportDataType(); 1548 method @Nullable public byte[] toByteArray(); 1549 method public int totalBytes(); 1550 method public void writeToParcel(@NonNull android.os.Parcel, int); 1551 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.TransportDiscoveryData> CREATOR; 1552 } 1553 1554} 1555 1556