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 @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isA2dpPlaying(android.bluetooth.BluetoothDevice); 10 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGED"; 11 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_PLAYING_STATE_CHANGED = "android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED"; 12 field public static final int STATE_NOT_PLAYING = 11; // 0xb 13 field public static final int STATE_PLAYING = 10; // 0xa 14 } 15 16 public final class BluetoothAdapter { 17 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean cancelDiscovery(); 18 method public static boolean checkBluetoothAddress(String); 19 method public void closeProfileProxy(int, android.bluetooth.BluetoothProfile); 20 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disable(); 21 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enable(); 22 method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, "android.permission.LOCAL_MAC_ADDRESS"}) public String getAddress(); 23 method public android.bluetooth.le.BluetoothLeAdvertiser getBluetoothLeAdvertiser(); 24 method public android.bluetooth.le.BluetoothLeScanner getBluetoothLeScanner(); 25 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.Set<android.bluetooth.BluetoothDevice> getBondedDevices(); 26 method @Deprecated public static android.bluetooth.BluetoothAdapter getDefaultAdapter(); 27 method public int getLeMaximumAdvertisingDataLength(); 28 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public String getName(); 29 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getProfileConnectionState(int); 30 method public boolean getProfileProxy(android.content.Context, android.bluetooth.BluetoothProfile.ServiceListener, int); 31 method public android.bluetooth.BluetoothDevice getRemoteDevice(String); 32 method public android.bluetooth.BluetoothDevice getRemoteDevice(byte[]); 33 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public int getScanMode(); 34 method public int getState(); 35 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean isDiscovering(); 36 method public boolean isEnabled(); 37 method public boolean isLe2MPhySupported(); 38 method public boolean isLeCodedPhySupported(); 39 method public boolean isLeExtendedAdvertisingSupported(); 40 method public boolean isLePeriodicAdvertisingSupported(); 41 method public boolean isMultipleAdvertisementSupported(); 42 method public boolean isOffloadedFilteringSupported(); 43 method public boolean isOffloadedScanBatchingSupported(); 44 method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothServerSocket listenUsingInsecureL2capChannel() throws java.io.IOException; 45 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothServerSocket listenUsingInsecureRfcommWithServiceRecord(String, java.util.UUID) throws java.io.IOException; 46 method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothServerSocket listenUsingL2capChannel() throws java.io.IOException; 47 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothServerSocket listenUsingRfcommWithServiceRecord(String, java.util.UUID) throws java.io.IOException; 48 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean setName(String); 49 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean startDiscovery(); 50 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean startLeScan(android.bluetooth.BluetoothAdapter.LeScanCallback); 51 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean startLeScan(java.util.UUID[], android.bluetooth.BluetoothAdapter.LeScanCallback); 52 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void stopLeScan(android.bluetooth.BluetoothAdapter.LeScanCallback); 53 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED"; 54 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public static final String ACTION_DISCOVERY_FINISHED = "android.bluetooth.adapter.action.DISCOVERY_FINISHED"; 55 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public static final String ACTION_DISCOVERY_STARTED = "android.bluetooth.adapter.action.DISCOVERY_STARTED"; 56 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_LOCAL_NAME_CHANGED = "android.bluetooth.adapter.action.LOCAL_NAME_CHANGED"; 57 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public static final String ACTION_REQUEST_DISCOVERABLE = "android.bluetooth.adapter.action.REQUEST_DISCOVERABLE"; 58 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_REQUEST_ENABLE = "android.bluetooth.adapter.action.REQUEST_ENABLE"; 59 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public static final String ACTION_SCAN_MODE_CHANGED = "android.bluetooth.adapter.action.SCAN_MODE_CHANGED"; 60 field public static final String ACTION_STATE_CHANGED = "android.bluetooth.adapter.action.STATE_CHANGED"; 61 field public static final int ERROR = -2147483648; // 0x80000000 62 field public static final String EXTRA_CONNECTION_STATE = "android.bluetooth.adapter.extra.CONNECTION_STATE"; 63 field public static final String EXTRA_DISCOVERABLE_DURATION = "android.bluetooth.adapter.extra.DISCOVERABLE_DURATION"; 64 field public static final String EXTRA_LOCAL_NAME = "android.bluetooth.adapter.extra.LOCAL_NAME"; 65 field public static final String EXTRA_PREVIOUS_CONNECTION_STATE = "android.bluetooth.adapter.extra.PREVIOUS_CONNECTION_STATE"; 66 field public static final String EXTRA_PREVIOUS_SCAN_MODE = "android.bluetooth.adapter.extra.PREVIOUS_SCAN_MODE"; 67 field public static final String EXTRA_PREVIOUS_STATE = "android.bluetooth.adapter.extra.PREVIOUS_STATE"; 68 field public static final String EXTRA_SCAN_MODE = "android.bluetooth.adapter.extra.SCAN_MODE"; 69 field public static final String EXTRA_STATE = "android.bluetooth.adapter.extra.STATE"; 70 field public static final int SCAN_MODE_CONNECTABLE = 21; // 0x15 71 field public static final int SCAN_MODE_CONNECTABLE_DISCOVERABLE = 23; // 0x17 72 field public static final int SCAN_MODE_NONE = 20; // 0x14 73 field public static final int STATE_CONNECTED = 2; // 0x2 74 field public static final int STATE_CONNECTING = 1; // 0x1 75 field public static final int STATE_DISCONNECTED = 0; // 0x0 76 field public static final int STATE_DISCONNECTING = 3; // 0x3 77 field public static final int STATE_OFF = 10; // 0xa 78 field public static final int STATE_ON = 12; // 0xc 79 field public static final int STATE_TURNING_OFF = 13; // 0xd 80 field public static final int STATE_TURNING_ON = 11; // 0xb 81 } 82 83 public static interface BluetoothAdapter.LeScanCallback { 84 method public void onLeScan(android.bluetooth.BluetoothDevice, int, byte[]); 85 } 86 87 public class BluetoothAssignedNumbers { 88 field public static final int AAMP_OF_AMERICA = 190; // 0xbe 89 field public static final int ACCEL_SEMICONDUCTOR = 74; // 0x4a 90 field public static final int ACE_SENSOR = 188; // 0xbc 91 field public static final int ADIDAS = 195; // 0xc3 92 field public static final int ADVANCED_PANMOBIL_SYSTEMS = 145; // 0x91 93 field public static final int AIROHA_TECHNOLOGY = 148; // 0x94 94 field public static final int ALCATEL = 36; // 0x24 95 field public static final int ALPWISE = 154; // 0x9a 96 field public static final int AMICCOM_ELECTRONICS = 192; // 0xc0 97 field public static final int APLIX = 189; // 0xbd 98 field public static final int APPLE = 76; // 0x4c 99 field public static final int APT_LICENSING = 79; // 0x4f 100 field public static final int ARCHOS = 207; // 0xcf 101 field public static final int ARP_DEVICES = 168; // 0xa8 102 field public static final int ATHEROS_COMMUNICATIONS = 69; // 0x45 103 field public static final int ATMEL = 19; // 0x13 104 field public static final int AUSTCO_COMMUNICATION_SYSTEMS = 213; // 0xd5 105 field public static final int AUTONET_MOBILE = 127; // 0x7f 106 field public static final int AVAGO = 78; // 0x4e 107 field public static final int AVM_BERLIN = 31; // 0x1f 108 field public static final int A_AND_D_ENGINEERING = 105; // 0x69 109 field public static final int A_AND_R_CAMBRIDGE = 124; // 0x7c 110 field public static final int BANDSPEED = 32; // 0x20 111 field public static final int BAND_XI_INTERNATIONAL = 100; // 0x64 112 field public static final int BDE_TECHNOLOGY = 180; // 0xb4 113 field public static final int BEATS_ELECTRONICS = 204; // 0xcc 114 field public static final int BEAUTIFUL_ENTERPRISE = 108; // 0x6c 115 field public static final int BEKEY = 178; // 0xb2 116 field public static final int BELKIN_INTERNATIONAL = 92; // 0x5c 117 field public static final int BINAURIC = 203; // 0xcb 118 field public static final int BIOSENTRONICS = 219; // 0xdb 119 field public static final int BLUEGIGA = 71; // 0x47 120 field public static final int BLUERADIOS = 133; // 0x85 121 field public static final int BLUETOOTH_SIG = 63; // 0x3f 122 field public static final int BLUETREK_TECHNOLOGIES = 151; // 0x97 123 field public static final int BOSE = 158; // 0x9e 124 field public static final int BRIARTEK = 109; // 0x6d 125 field public static final int BROADCOM = 15; // 0xf 126 field public static final int CAEN_RFID = 170; // 0xaa 127 field public static final int CAMBRIDGE_SILICON_RADIO = 10; // 0xa 128 field public static final int CATC = 52; // 0x34 129 field public static final int CINETIX = 175; // 0xaf 130 field public static final int CLARINOX_TECHNOLOGIES = 179; // 0xb3 131 field public static final int COLORFY = 156; // 0x9c 132 field public static final int COMMIL = 51; // 0x33 133 field public static final int CONEXANT_SYSTEMS = 28; // 0x1c 134 field public static final int CONNECTBLUE = 113; // 0x71 135 field public static final int CONTINENTAL_AUTOMOTIVE = 75; // 0x4b 136 field public static final int CONWISE_TECHNOLOGY = 66; // 0x42 137 field public static final int CREATIVE_TECHNOLOGY = 118; // 0x76 138 field public static final int C_TECHNOLOGIES = 38; // 0x26 139 field public static final int DANLERS = 225; // 0xe1 140 field public static final int DELORME_PUBLISHING_COMPANY = 128; // 0x80 141 field public static final int DEXCOM = 208; // 0xd0 142 field public static final int DIALOG_SEMICONDUCTOR = 210; // 0xd2 143 field public static final int DIGIANSWER = 12; // 0xc 144 field public static final int ECLIPSE = 53; // 0x35 145 field public static final int ECOTEST = 136; // 0x88 146 field public static final int ELGATO_SYSTEMS = 206; // 0xce 147 field public static final int EM_MICROELECTRONIC_MARIN = 90; // 0x5a 148 field public static final int EQUINOX_AG = 134; // 0x86 149 field public static final int ERICSSON_TECHNOLOGY = 0; // 0x0 150 field public static final int EVLUMA = 201; // 0xc9 151 field public static final int FREE2MOVE = 83; // 0x53 152 field public static final int FUNAI_ELECTRIC = 144; // 0x90 153 field public static final int GARMIN_INTERNATIONAL = 135; // 0x87 154 field public static final int GCT_SEMICONDUCTOR = 45; // 0x2d 155 field public static final int GELO = 200; // 0xc8 156 field public static final int GENEQ = 194; // 0xc2 157 field public static final int GENERAL_MOTORS = 104; // 0x68 158 field public static final int GENNUM = 59; // 0x3b 159 field public static final int GEOFORCE = 157; // 0x9d 160 field public static final int GIBSON_GUITARS = 98; // 0x62 161 field public static final int GN_NETCOM = 103; // 0x67 162 field public static final int GN_RESOUND = 137; // 0x89 163 field public static final int GOOGLE = 224; // 0xe0 164 field public static final int GREEN_THROTTLE_GAMES = 172; // 0xac 165 field public static final int GROUP_SENSE = 115; // 0x73 166 field public static final int HANLYNN_TECHNOLOGIES = 123; // 0x7b 167 field public static final int HARMAN_INTERNATIONAL = 87; // 0x57 168 field public static final int HEWLETT_PACKARD = 101; // 0x65 169 field public static final int HITACHI = 41; // 0x29 170 field public static final int HOSIDEN = 221; // 0xdd 171 field public static final int IBM = 3; // 0x3 172 field public static final int INFINEON_TECHNOLOGIES = 9; // 0x9 173 field public static final int INGENIEUR_SYSTEMGRUPPE_ZAHN = 171; // 0xab 174 field public static final int INTEGRATED_SILICON_SOLUTION = 65; // 0x41 175 field public static final int INTEGRATED_SYSTEM_SOLUTION = 57; // 0x39 176 field public static final int INTEL = 2; // 0x2 177 field public static final int INVENTEL = 30; // 0x1e 178 field public static final int IPEXTREME = 61; // 0x3d 179 field public static final int I_TECH_DYNAMIC_GLOBAL_DISTRIBUTION = 153; // 0x99 180 field public static final int JAWBONE = 138; // 0x8a 181 field public static final int JIANGSU_TOPPOWER_AUTOMOTIVE_ELECTRONICS = 155; // 0x9b 182 field public static final int JOHNSON_CONTROLS = 185; // 0xb9 183 field public static final int J_AND_M = 82; // 0x52 184 field public static final int KAWANTECH = 212; // 0xd4 185 field public static final int KC_TECHNOLOGY = 22; // 0x16 186 field public static final int KENSINGTON_COMPUTER_PRODUCTS_GROUP = 160; // 0xa0 187 field public static final int LAIRD_TECHNOLOGIES = 119; // 0x77 188 field public static final int LESSWIRE = 121; // 0x79 189 field public static final int LG_ELECTRONICS = 196; // 0xc4 190 field public static final int LINAK = 164; // 0xa4 191 field public static final int LUCENT = 7; // 0x7 192 field public static final int LUDUS_HELSINKI = 132; // 0x84 193 field public static final int MACRONIX = 44; // 0x2c 194 field public static final int MAGNETI_MARELLI = 169; // 0xa9 195 field public static final int MANSELLA = 33; // 0x21 196 field public static final int MARVELL = 72; // 0x48 197 field public static final int MATSUSHITA_ELECTRIC = 58; // 0x3a 198 field public static final int MC10 = 202; // 0xca 199 field public static final int MEDIATEK = 70; // 0x46 200 field public static final int MESO_INTERNATIONAL = 182; // 0xb6 201 field public static final int META_WATCH = 163; // 0xa3 202 field public static final int MEWTEL_TECHNOLOGY = 47; // 0x2f 203 field public static final int MICOMMAND = 99; // 0x63 204 field public static final int MICROCHIP_TECHNOLOGY = 205; // 0xcd 205 field public static final int MICROSOFT = 6; // 0x6 206 field public static final int MINDTREE = 106; // 0x6a 207 field public static final int MISFIT_WEARABLES = 223; // 0xdf 208 field public static final int MITEL_SEMICONDUCTOR = 16; // 0x10 209 field public static final int MITSUBISHI_ELECTRIC = 20; // 0x14 210 field public static final int MOBILIAN_CORPORATION = 55; // 0x37 211 field public static final int MONSTER = 112; // 0x70 212 field public static final int MOTOROLA = 8; // 0x8 213 field public static final int MSTAR_SEMICONDUCTOR = 122; // 0x7a 214 field public static final int MUZIK = 222; // 0xde 215 field public static final int NEC = 34; // 0x22 216 field public static final int NEC_LIGHTING = 149; // 0x95 217 field public static final int NEWLOGIC = 23; // 0x17 218 field public static final int NIKE = 120; // 0x78 219 field public static final int NINE_SOLUTIONS = 102; // 0x66 220 field public static final int NOKIA_MOBILE_PHONES = 1; // 0x1 221 field public static final int NORDIC_SEMICONDUCTOR = 89; // 0x59 222 field public static final int NORWOOD_SYSTEMS = 46; // 0x2e 223 field public static final int ODM_TECHNOLOGY = 150; // 0x96 224 field public static final int OMEGAWAVE = 174; // 0xae 225 field public static final int ONSET_COMPUTER = 197; // 0xc5 226 field public static final int OPEN_INTERFACE = 39; // 0x27 227 field public static final int OTL_DYNAMICS = 165; // 0xa5 228 field public static final int PANDA_OCEAN = 166; // 0xa6 229 field public static final int PARROT = 67; // 0x43 230 field public static final int PARTHUS_TECHNOLOGIES = 14; // 0xe 231 field public static final int PASSIF_SEMICONDUCTOR = 176; // 0xb0 232 field public static final int PETER_SYSTEMTECHNIK = 173; // 0xad 233 field public static final int PHILIPS_SEMICONDUCTORS = 37; // 0x25 234 field public static final int PLANTRONICS = 85; // 0x55 235 field public static final int POLAR_ELECTRO = 107; // 0x6b 236 field public static final int POLAR_ELECTRO_EUROPE = 209; // 0xd1 237 field public static final int PROCTER_AND_GAMBLE = 220; // 0xdc 238 field public static final int QUALCOMM = 29; // 0x1d 239 field public static final int QUALCOMM_CONNECTED_EXPERIENCES = 216; // 0xd8 240 field public static final int QUALCOMM_INNOVATION_CENTER = 184; // 0xb8 241 field public static final int QUALCOMM_LABS = 140; // 0x8c 242 field public static final int QUALCOMM_TECHNOLOGIES = 215; // 0xd7 243 field public static final int QUINTIC = 142; // 0x8e 244 field public static final int QUUPPA = 199; // 0xc7 245 field public static final int RALINK_TECHNOLOGY = 91; // 0x5b 246 field public static final int RDA_MICROELECTRONICS = 97; // 0x61 247 field public static final int REALTEK_SEMICONDUCTOR = 93; // 0x5d 248 field public static final int RED_M = 50; // 0x32 249 field public static final int RENESAS_TECHNOLOGY = 54; // 0x36 250 field public static final int RESEARCH_IN_MOTION = 60; // 0x3c 251 field public static final int RF_MICRO_DEVICES = 40; // 0x28 252 field public static final int RIVIERAWAVES = 96; // 0x60 253 field public static final int ROHDE_AND_SCHWARZ = 25; // 0x19 254 field public static final int RTX_TELECOM = 21; // 0x15 255 field public static final int SAMSUNG_ELECTRONICS = 117; // 0x75 256 field public static final int SARIS_CYCLING_GROUP = 177; // 0xb1 257 field public static final int SEERS_TECHNOLOGY = 125; // 0x7d 258 field public static final int SEIKO_EPSON = 64; // 0x40 259 field public static final int SELFLY = 198; // 0xc6 260 field public static final int SEMILINK = 226; // 0xe2 261 field public static final int SENNHEISER_COMMUNICATIONS = 130; // 0x82 262 field public static final int SHANGHAI_SUPER_SMART_ELECTRONICS = 114; // 0x72 263 field public static final int SHENZHEN_EXCELSECU_DATA_TECHNOLOGY = 193; // 0xc1 264 field public static final int SIGNIA_TECHNOLOGIES = 27; // 0x1b 265 field public static final int SILICON_WAVE = 11; // 0xb 266 field public static final int SIRF_TECHNOLOGY = 80; // 0x50 267 field public static final int SOCKET_MOBILE = 68; // 0x44 268 field public static final int SONY_ERICSSON = 86; // 0x56 269 field public static final int SOUND_ID = 111; // 0x6f 270 field public static final int SPORTS_TRACKING_TECHNOLOGIES = 126; // 0x7e 271 field public static final int SR_MEDIZINELEKTRONIK = 161; // 0xa1 272 field public static final int STACCATO_COMMUNICATIONS = 77; // 0x4d 273 field public static final int STALMART_TECHNOLOGY = 191; // 0xbf 274 field public static final int STARKEY_LABORATORIES = 186; // 0xba 275 field public static final int STOLLMAN_E_PLUS_V = 143; // 0x8f 276 field public static final int STONESTREET_ONE = 94; // 0x5e 277 field public static final int ST_MICROELECTRONICS = 48; // 0x30 278 field public static final int SUMMIT_DATA_COMMUNICATIONS = 110; // 0x6e 279 field public static final int SUUNTO = 159; // 0x9f 280 field public static final int SWIRL_NETWORKS = 181; // 0xb5 281 field public static final int SYMBOL_TECHNOLOGIES = 42; // 0x2a 282 field public static final int SYNOPSYS = 49; // 0x31 283 field public static final int SYSTEMS_AND_CHIPS = 62; // 0x3e 284 field public static final int S_POWER_ELECTRONICS = 187; // 0xbb 285 field public static final int TAIXINGBANG_TECHNOLOGY = 211; // 0xd3 286 field public static final int TENOVIS = 43; // 0x2b 287 field public static final int TERAX = 56; // 0x38 288 field public static final int TEXAS_INSTRUMENTS = 13; // 0xd 289 field public static final int THINKOPTICS = 146; // 0x92 290 field public static final int THREECOM = 5; // 0x5 291 field public static final int THREE_DIJOY = 84; // 0x54 292 field public static final int THREE_DSP = 73; // 0x49 293 field public static final int TIMEKEEPING_SYSTEMS = 131; // 0x83 294 field public static final int TIMEX_GROUP_USA = 214; // 0xd6 295 field public static final int TOPCORN_POSITIONING_SYSTEMS = 139; // 0x8b 296 field public static final int TOSHIBA = 4; // 0x4 297 field public static final int TRANSILICA = 24; // 0x18 298 field public static final int TRELAB = 183; // 0xb7 299 field public static final int TTPCOM = 26; // 0x1a 300 field public static final int TXTR = 218; // 0xda 301 field public static final int TZERO_TECHNOLOGIES = 81; // 0x51 302 field public static final int UNIVERSAL_ELECTRONICS = 147; // 0x93 303 field public static final int VERTU = 162; // 0xa2 304 field public static final int VISTEON = 167; // 0xa7 305 field public static final int VIZIO = 88; // 0x58 306 field public static final int VOYETRA_TURTLE_BEACH = 217; // 0xd9 307 field public static final int WAVEPLUS_TECHNOLOGY = 35; // 0x23 308 field public static final int WICENTRIC = 95; // 0x5f 309 field public static final int WIDCOMM = 17; // 0x11 310 field public static final int WUXI_VIMICRO = 129; // 0x81 311 field public static final int ZEEVO = 18; // 0x12 312 field public static final int ZER01_TV = 152; // 0x98 313 field public static final int ZOMM = 116; // 0x74 314 field public static final int ZSCAN_SOFTWARE = 141; // 0x8d 315 } 316 317 public final class BluetoothClass implements android.os.Parcelable { 318 method public int describeContents(); 319 method public int getDeviceClass(); 320 method public int getMajorDeviceClass(); 321 method public boolean hasService(int); 322 method public void writeToParcel(android.os.Parcel, int); 323 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothClass> CREATOR; 324 } 325 326 public static class BluetoothClass.Device { 327 ctor public BluetoothClass.Device(); 328 field public static final int AUDIO_VIDEO_CAMCORDER = 1076; // 0x434 329 field public static final int AUDIO_VIDEO_CAR_AUDIO = 1056; // 0x420 330 field public static final int AUDIO_VIDEO_HANDSFREE = 1032; // 0x408 331 field public static final int AUDIO_VIDEO_HEADPHONES = 1048; // 0x418 332 field public static final int AUDIO_VIDEO_HIFI_AUDIO = 1064; // 0x428 333 field public static final int AUDIO_VIDEO_LOUDSPEAKER = 1044; // 0x414 334 field public static final int AUDIO_VIDEO_MICROPHONE = 1040; // 0x410 335 field public static final int AUDIO_VIDEO_PORTABLE_AUDIO = 1052; // 0x41c 336 field public static final int AUDIO_VIDEO_SET_TOP_BOX = 1060; // 0x424 337 field public static final int AUDIO_VIDEO_UNCATEGORIZED = 1024; // 0x400 338 field public static final int AUDIO_VIDEO_VCR = 1068; // 0x42c 339 field public static final int AUDIO_VIDEO_VIDEO_CAMERA = 1072; // 0x430 340 field public static final int AUDIO_VIDEO_VIDEO_CONFERENCING = 1088; // 0x440 341 field public static final int AUDIO_VIDEO_VIDEO_DISPLAY_AND_LOUDSPEAKER = 1084; // 0x43c 342 field public static final int AUDIO_VIDEO_VIDEO_GAMING_TOY = 1096; // 0x448 343 field public static final int AUDIO_VIDEO_VIDEO_MONITOR = 1080; // 0x438 344 field public static final int AUDIO_VIDEO_WEARABLE_HEADSET = 1028; // 0x404 345 field public static final int COMPUTER_DESKTOP = 260; // 0x104 346 field public static final int COMPUTER_HANDHELD_PC_PDA = 272; // 0x110 347 field public static final int COMPUTER_LAPTOP = 268; // 0x10c 348 field public static final int COMPUTER_PALM_SIZE_PC_PDA = 276; // 0x114 349 field public static final int COMPUTER_SERVER = 264; // 0x108 350 field public static final int COMPUTER_UNCATEGORIZED = 256; // 0x100 351 field public static final int COMPUTER_WEARABLE = 280; // 0x118 352 field public static final int HEALTH_BLOOD_PRESSURE = 2308; // 0x904 353 field public static final int HEALTH_DATA_DISPLAY = 2332; // 0x91c 354 field public static final int HEALTH_GLUCOSE = 2320; // 0x910 355 field public static final int HEALTH_PULSE_OXIMETER = 2324; // 0x914 356 field public static final int HEALTH_PULSE_RATE = 2328; // 0x918 357 field public static final int HEALTH_THERMOMETER = 2312; // 0x908 358 field public static final int HEALTH_UNCATEGORIZED = 2304; // 0x900 359 field public static final int HEALTH_WEIGHING = 2316; // 0x90c 360 field public static final int PHONE_CELLULAR = 516; // 0x204 361 field public static final int PHONE_CORDLESS = 520; // 0x208 362 field public static final int PHONE_ISDN = 532; // 0x214 363 field public static final int PHONE_MODEM_OR_GATEWAY = 528; // 0x210 364 field public static final int PHONE_SMART = 524; // 0x20c 365 field public static final int PHONE_UNCATEGORIZED = 512; // 0x200 366 field public static final int TOY_CONTROLLER = 2064; // 0x810 367 field public static final int TOY_DOLL_ACTION_FIGURE = 2060; // 0x80c 368 field public static final int TOY_GAME = 2068; // 0x814 369 field public static final int TOY_ROBOT = 2052; // 0x804 370 field public static final int TOY_UNCATEGORIZED = 2048; // 0x800 371 field public static final int TOY_VEHICLE = 2056; // 0x808 372 field public static final int WEARABLE_GLASSES = 1812; // 0x714 373 field public static final int WEARABLE_HELMET = 1808; // 0x710 374 field public static final int WEARABLE_JACKET = 1804; // 0x70c 375 field public static final int WEARABLE_PAGER = 1800; // 0x708 376 field public static final int WEARABLE_UNCATEGORIZED = 1792; // 0x700 377 field public static final int WEARABLE_WRIST_WATCH = 1796; // 0x704 378 } 379 380 public static class BluetoothClass.Device.Major { 381 ctor public BluetoothClass.Device.Major(); 382 field public static final int AUDIO_VIDEO = 1024; // 0x400 383 field public static final int COMPUTER = 256; // 0x100 384 field public static final int HEALTH = 2304; // 0x900 385 field public static final int IMAGING = 1536; // 0x600 386 field public static final int MISC = 0; // 0x0 387 field public static final int NETWORKING = 768; // 0x300 388 field public static final int PERIPHERAL = 1280; // 0x500 389 field public static final int PHONE = 512; // 0x200 390 field public static final int TOY = 2048; // 0x800 391 field public static final int UNCATEGORIZED = 7936; // 0x1f00 392 field public static final int WEARABLE = 1792; // 0x700 393 } 394 395 public static final class BluetoothClass.Service { 396 ctor public BluetoothClass.Service(); 397 field public static final int AUDIO = 2097152; // 0x200000 398 field public static final int CAPTURE = 524288; // 0x80000 399 field public static final int INFORMATION = 8388608; // 0x800000 400 field public static final int LIMITED_DISCOVERABILITY = 8192; // 0x2000 401 field public static final int NETWORKING = 131072; // 0x20000 402 field public static final int OBJECT_TRANSFER = 1048576; // 0x100000 403 field public static final int POSITIONING = 65536; // 0x10000 404 field public static final int RENDER = 262144; // 0x40000 405 field public static final int TELEPHONY = 4194304; // 0x400000 406 } 407 408 public final class BluetoothDevice implements android.os.Parcelable { 409 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback); 410 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int); 411 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int, int); 412 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int, int, android.os.Handler); 413 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean createBond(); 414 method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothSocket createInsecureL2capChannel(int) throws java.io.IOException; 415 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothSocket createInsecureRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException; 416 method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothSocket createL2capChannel(int) throws java.io.IOException; 417 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothSocket createRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException; 418 method public int describeContents(); 419 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean fetchUuidsWithSdp(); 420 method public String getAddress(); 421 method @Nullable @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public String getAlias(); 422 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothClass getBluetoothClass(); 423 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getBondState(); 424 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public String getName(); 425 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getType(); 426 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.os.ParcelUuid[] getUuids(); 427 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int setAlias(@Nullable String); 428 method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setPairingConfirmation(boolean); 429 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean setPin(byte[]); 430 method public void writeToParcel(android.os.Parcel, int); 431 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACL_CONNECTED = "android.bluetooth.device.action.ACL_CONNECTED"; 432 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACL_DISCONNECTED = "android.bluetooth.device.action.ACL_DISCONNECTED"; 433 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACL_DISCONNECT_REQUESTED = "android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED"; 434 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ALIAS_CHANGED = "android.bluetooth.device.action.ALIAS_CHANGED"; 435 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_BOND_STATE_CHANGED = "android.bluetooth.device.action.BOND_STATE_CHANGED"; 436 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CLASS_CHANGED = "android.bluetooth.device.action.CLASS_CHANGED"; 437 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public static final String ACTION_FOUND = "android.bluetooth.device.action.FOUND"; 438 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_NAME_CHANGED = "android.bluetooth.device.action.NAME_CHANGED"; 439 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_PAIRING_REQUEST = "android.bluetooth.device.action.PAIRING_REQUEST"; 440 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_UUID = "android.bluetooth.device.action.UUID"; 441 field public static final int ADDRESS_TYPE_PUBLIC = 0; // 0x0 442 field public static final int ADDRESS_TYPE_RANDOM = 1; // 0x1 443 field public static final int BOND_BONDED = 12; // 0xc 444 field public static final int BOND_BONDING = 11; // 0xb 445 field public static final int BOND_NONE = 10; // 0xa 446 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothDevice> CREATOR; 447 field public static final int DEVICE_TYPE_CLASSIC = 1; // 0x1 448 field public static final int DEVICE_TYPE_DUAL = 3; // 0x3 449 field public static final int DEVICE_TYPE_LE = 2; // 0x2 450 field public static final int DEVICE_TYPE_UNKNOWN = 0; // 0x0 451 field public static final int ERROR = -2147483648; // 0x80000000 452 field public static final String EXTRA_BOND_STATE = "android.bluetooth.device.extra.BOND_STATE"; 453 field public static final String EXTRA_CLASS = "android.bluetooth.device.extra.CLASS"; 454 field public static final String EXTRA_DEVICE = "android.bluetooth.device.extra.DEVICE"; 455 field public static final String EXTRA_NAME = "android.bluetooth.device.extra.NAME"; 456 field public static final String EXTRA_PAIRING_KEY = "android.bluetooth.device.extra.PAIRING_KEY"; 457 field public static final String EXTRA_PAIRING_VARIANT = "android.bluetooth.device.extra.PAIRING_VARIANT"; 458 field public static final String EXTRA_PREVIOUS_BOND_STATE = "android.bluetooth.device.extra.PREVIOUS_BOND_STATE"; 459 field public static final String EXTRA_RSSI = "android.bluetooth.device.extra.RSSI"; 460 field public static final String EXTRA_UUID = "android.bluetooth.device.extra.UUID"; 461 field public static final int PAIRING_VARIANT_PASSKEY_CONFIRMATION = 2; // 0x2 462 field public static final int PAIRING_VARIANT_PIN = 0; // 0x0 463 field public static final int PHY_LE_1M = 1; // 0x1 464 field public static final int PHY_LE_1M_MASK = 1; // 0x1 465 field public static final int PHY_LE_2M = 2; // 0x2 466 field public static final int PHY_LE_2M_MASK = 2; // 0x2 467 field public static final int PHY_LE_CODED = 3; // 0x3 468 field public static final int PHY_LE_CODED_MASK = 4; // 0x4 469 field public static final int PHY_OPTION_NO_PREFERRED = 0; // 0x0 470 field public static final int PHY_OPTION_S2 = 1; // 0x1 471 field public static final int PHY_OPTION_S8 = 2; // 0x2 472 field public static final int TRANSPORT_AUTO = 0; // 0x0 473 field public static final int TRANSPORT_BREDR = 1; // 0x1 474 field public static final int TRANSPORT_LE = 2; // 0x2 475 } 476 477 public final class BluetoothGatt implements android.bluetooth.BluetoothProfile { 478 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void abortReliableWrite(); 479 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void abortReliableWrite(android.bluetooth.BluetoothDevice); 480 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean beginReliableWrite(); 481 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void close(); 482 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean connect(); 483 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void disconnect(); 484 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean discoverServices(); 485 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean executeReliableWrite(); 486 method public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 487 method public int getConnectionState(android.bluetooth.BluetoothDevice); 488 method public android.bluetooth.BluetoothDevice getDevice(); 489 method public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]); 490 method public android.bluetooth.BluetoothGattService getService(java.util.UUID); 491 method public java.util.List<android.bluetooth.BluetoothGattService> getServices(); 492 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean readCharacteristic(android.bluetooth.BluetoothGattCharacteristic); 493 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean readDescriptor(android.bluetooth.BluetoothGattDescriptor); 494 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void readPhy(); 495 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean readRemoteRssi(); 496 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean requestConnectionPriority(int); 497 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean requestMtu(int); 498 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean setCharacteristicNotification(android.bluetooth.BluetoothGattCharacteristic, boolean); 499 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void setPreferredPhy(int, int, int); 500 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean writeCharacteristic(android.bluetooth.BluetoothGattCharacteristic); 501 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean writeDescriptor(android.bluetooth.BluetoothGattDescriptor); 502 field public static final int CONNECTION_PRIORITY_BALANCED = 0; // 0x0 503 field public static final int CONNECTION_PRIORITY_HIGH = 1; // 0x1 504 field public static final int CONNECTION_PRIORITY_LOW_POWER = 2; // 0x2 505 field public static final int GATT_CONNECTION_CONGESTED = 143; // 0x8f 506 field public static final int GATT_FAILURE = 257; // 0x101 507 field public static final int GATT_INSUFFICIENT_AUTHENTICATION = 5; // 0x5 508 field public static final int GATT_INSUFFICIENT_ENCRYPTION = 15; // 0xf 509 field public static final int GATT_INVALID_ATTRIBUTE_LENGTH = 13; // 0xd 510 field public static final int GATT_INVALID_OFFSET = 7; // 0x7 511 field public static final int GATT_READ_NOT_PERMITTED = 2; // 0x2 512 field public static final int GATT_REQUEST_NOT_SUPPORTED = 6; // 0x6 513 field public static final int GATT_SUCCESS = 0; // 0x0 514 field public static final int GATT_WRITE_NOT_PERMITTED = 3; // 0x3 515 } 516 517 public abstract class BluetoothGattCallback { 518 ctor public BluetoothGattCallback(); 519 method public void onCharacteristicChanged(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic); 520 method public void onCharacteristicRead(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int); 521 method public void onCharacteristicWrite(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int); 522 method public void onConnectionStateChange(android.bluetooth.BluetoothGatt, int, int); 523 method public void onDescriptorRead(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattDescriptor, int); 524 method public void onDescriptorWrite(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattDescriptor, int); 525 method public void onMtuChanged(android.bluetooth.BluetoothGatt, int, int); 526 method public void onPhyRead(android.bluetooth.BluetoothGatt, int, int, int); 527 method public void onPhyUpdate(android.bluetooth.BluetoothGatt, int, int, int); 528 method public void onReadRemoteRssi(android.bluetooth.BluetoothGatt, int, int); 529 method public void onReliableWriteCompleted(android.bluetooth.BluetoothGatt, int); 530 method public void onServiceChanged(@NonNull android.bluetooth.BluetoothGatt); 531 method public void onServicesDiscovered(android.bluetooth.BluetoothGatt, int); 532 } 533 534 public class BluetoothGattCharacteristic implements android.os.Parcelable { 535 ctor public BluetoothGattCharacteristic(java.util.UUID, int, int); 536 method public boolean addDescriptor(android.bluetooth.BluetoothGattDescriptor); 537 method public int describeContents(); 538 method public android.bluetooth.BluetoothGattDescriptor getDescriptor(java.util.UUID); 539 method public java.util.List<android.bluetooth.BluetoothGattDescriptor> getDescriptors(); 540 method public Float getFloatValue(int, int); 541 method public int getInstanceId(); 542 method public Integer getIntValue(int, int); 543 method public int getPermissions(); 544 method public int getProperties(); 545 method public android.bluetooth.BluetoothGattService getService(); 546 method public String getStringValue(int); 547 method public java.util.UUID getUuid(); 548 method public byte[] getValue(); 549 method public int getWriteType(); 550 method public boolean setValue(byte[]); 551 method public boolean setValue(int, int, int); 552 method public boolean setValue(int, int, int, int); 553 method public boolean setValue(String); 554 method public void setWriteType(int); 555 method public void writeToParcel(android.os.Parcel, int); 556 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothGattCharacteristic> CREATOR; 557 field public static final int FORMAT_FLOAT = 52; // 0x34 558 field public static final int FORMAT_SFLOAT = 50; // 0x32 559 field public static final int FORMAT_SINT16 = 34; // 0x22 560 field public static final int FORMAT_SINT32 = 36; // 0x24 561 field public static final int FORMAT_SINT8 = 33; // 0x21 562 field public static final int FORMAT_UINT16 = 18; // 0x12 563 field public static final int FORMAT_UINT32 = 20; // 0x14 564 field public static final int FORMAT_UINT8 = 17; // 0x11 565 field public static final int PERMISSION_READ = 1; // 0x1 566 field public static final int PERMISSION_READ_ENCRYPTED = 2; // 0x2 567 field public static final int PERMISSION_READ_ENCRYPTED_MITM = 4; // 0x4 568 field public static final int PERMISSION_WRITE = 16; // 0x10 569 field public static final int PERMISSION_WRITE_ENCRYPTED = 32; // 0x20 570 field public static final int PERMISSION_WRITE_ENCRYPTED_MITM = 64; // 0x40 571 field public static final int PERMISSION_WRITE_SIGNED = 128; // 0x80 572 field public static final int PERMISSION_WRITE_SIGNED_MITM = 256; // 0x100 573 field public static final int PROPERTY_BROADCAST = 1; // 0x1 574 field public static final int PROPERTY_EXTENDED_PROPS = 128; // 0x80 575 field public static final int PROPERTY_INDICATE = 32; // 0x20 576 field public static final int PROPERTY_NOTIFY = 16; // 0x10 577 field public static final int PROPERTY_READ = 2; // 0x2 578 field public static final int PROPERTY_SIGNED_WRITE = 64; // 0x40 579 field public static final int PROPERTY_WRITE = 8; // 0x8 580 field public static final int PROPERTY_WRITE_NO_RESPONSE = 4; // 0x4 581 field public static final int WRITE_TYPE_DEFAULT = 2; // 0x2 582 field public static final int WRITE_TYPE_NO_RESPONSE = 1; // 0x1 583 field public static final int WRITE_TYPE_SIGNED = 4; // 0x4 584 field protected java.util.List<android.bluetooth.BluetoothGattDescriptor> mDescriptors; 585 } 586 587 public class BluetoothGattDescriptor implements android.os.Parcelable { 588 ctor public BluetoothGattDescriptor(java.util.UUID, int); 589 method public int describeContents(); 590 method public android.bluetooth.BluetoothGattCharacteristic getCharacteristic(); 591 method public int getPermissions(); 592 method public java.util.UUID getUuid(); 593 method public byte[] getValue(); 594 method public boolean setValue(byte[]); 595 method public void writeToParcel(android.os.Parcel, int); 596 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothGattDescriptor> CREATOR; 597 field public static final byte[] DISABLE_NOTIFICATION_VALUE; 598 field public static final byte[] ENABLE_INDICATION_VALUE; 599 field public static final byte[] ENABLE_NOTIFICATION_VALUE; 600 field public static final int PERMISSION_READ = 1; // 0x1 601 field public static final int PERMISSION_READ_ENCRYPTED = 2; // 0x2 602 field public static final int PERMISSION_READ_ENCRYPTED_MITM = 4; // 0x4 603 field public static final int PERMISSION_WRITE = 16; // 0x10 604 field public static final int PERMISSION_WRITE_ENCRYPTED = 32; // 0x20 605 field public static final int PERMISSION_WRITE_ENCRYPTED_MITM = 64; // 0x40 606 field public static final int PERMISSION_WRITE_SIGNED = 128; // 0x80 607 field public static final int PERMISSION_WRITE_SIGNED_MITM = 256; // 0x100 608 } 609 610 public final class BluetoothGattServer implements android.bluetooth.BluetoothProfile { 611 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean addService(android.bluetooth.BluetoothGattService); 612 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void cancelConnection(android.bluetooth.BluetoothDevice); 613 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void clearServices(); 614 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void close(); 615 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean connect(android.bluetooth.BluetoothDevice, boolean); 616 method public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 617 method public int getConnectionState(android.bluetooth.BluetoothDevice); 618 method public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]); 619 method public android.bluetooth.BluetoothGattService getService(java.util.UUID); 620 method public java.util.List<android.bluetooth.BluetoothGattService> getServices(); 621 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean notifyCharacteristicChanged(android.bluetooth.BluetoothDevice, android.bluetooth.BluetoothGattCharacteristic, boolean); 622 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void readPhy(android.bluetooth.BluetoothDevice); 623 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean removeService(android.bluetooth.BluetoothGattService); 624 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean sendResponse(android.bluetooth.BluetoothDevice, int, int, int, byte[]); 625 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void setPreferredPhy(android.bluetooth.BluetoothDevice, int, int, int); 626 } 627 628 public abstract class BluetoothGattServerCallback { 629 ctor public BluetoothGattServerCallback(); 630 method public void onCharacteristicReadRequest(android.bluetooth.BluetoothDevice, int, int, android.bluetooth.BluetoothGattCharacteristic); 631 method public void onCharacteristicWriteRequest(android.bluetooth.BluetoothDevice, int, android.bluetooth.BluetoothGattCharacteristic, boolean, boolean, int, byte[]); 632 method public void onConnectionStateChange(android.bluetooth.BluetoothDevice, int, int); 633 method public void onDescriptorReadRequest(android.bluetooth.BluetoothDevice, int, int, android.bluetooth.BluetoothGattDescriptor); 634 method public void onDescriptorWriteRequest(android.bluetooth.BluetoothDevice, int, android.bluetooth.BluetoothGattDescriptor, boolean, boolean, int, byte[]); 635 method public void onExecuteWrite(android.bluetooth.BluetoothDevice, int, boolean); 636 method public void onMtuChanged(android.bluetooth.BluetoothDevice, int); 637 method public void onNotificationSent(android.bluetooth.BluetoothDevice, int); 638 method public void onPhyRead(android.bluetooth.BluetoothDevice, int, int, int); 639 method public void onPhyUpdate(android.bluetooth.BluetoothDevice, int, int, int); 640 method public void onServiceAdded(int, android.bluetooth.BluetoothGattService); 641 } 642 643 public class BluetoothGattService implements android.os.Parcelable { 644 ctor public BluetoothGattService(java.util.UUID, int); 645 method public boolean addCharacteristic(android.bluetooth.BluetoothGattCharacteristic); 646 method public boolean addService(android.bluetooth.BluetoothGattService); 647 method public int describeContents(); 648 method public android.bluetooth.BluetoothGattCharacteristic getCharacteristic(java.util.UUID); 649 method public java.util.List<android.bluetooth.BluetoothGattCharacteristic> getCharacteristics(); 650 method public java.util.List<android.bluetooth.BluetoothGattService> getIncludedServices(); 651 method public int getInstanceId(); 652 method public int getType(); 653 method public java.util.UUID getUuid(); 654 method public void writeToParcel(android.os.Parcel, int); 655 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothGattService> CREATOR; 656 field public static final int SERVICE_TYPE_PRIMARY = 0; // 0x0 657 field public static final int SERVICE_TYPE_SECONDARY = 1; // 0x1 658 field protected java.util.List<android.bluetooth.BluetoothGattCharacteristic> mCharacteristics; 659 field protected java.util.List<android.bluetooth.BluetoothGattService> mIncludedServices; 660 } 661 662 public final class BluetoothHeadset implements android.bluetooth.BluetoothProfile { 663 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 664 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice); 665 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]); 666 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isAudioConnected(android.bluetooth.BluetoothDevice); 667 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isNoiseReductionSupported(@NonNull android.bluetooth.BluetoothDevice); 668 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isVoiceRecognitionSupported(@NonNull android.bluetooth.BluetoothDevice); 669 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean sendVendorSpecificResultCode(android.bluetooth.BluetoothDevice, String, String); 670 method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean startVoiceRecognition(android.bluetooth.BluetoothDevice); 671 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean stopVoiceRecognition(android.bluetooth.BluetoothDevice); 672 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_AUDIO_STATE_CHANGED = "android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED"; 673 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED"; 674 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_VENDOR_SPECIFIC_HEADSET_EVENT = "android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT"; 675 field public static final int AT_CMD_TYPE_ACTION = 4; // 0x4 676 field public static final int AT_CMD_TYPE_BASIC = 3; // 0x3 677 field public static final int AT_CMD_TYPE_READ = 0; // 0x0 678 field public static final int AT_CMD_TYPE_SET = 2; // 0x2 679 field public static final int AT_CMD_TYPE_TEST = 1; // 0x1 680 field public static final String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_ARGS = "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_ARGS"; 681 field public static final String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD = "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_CMD"; 682 field public static final String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE = "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE"; 683 field public static final int STATE_AUDIO_CONNECTED = 12; // 0xc 684 field public static final int STATE_AUDIO_CONNECTING = 11; // 0xb 685 field public static final int STATE_AUDIO_DISCONNECTED = 10; // 0xa 686 field public static final String VENDOR_RESULT_CODE_COMMAND_ANDROID = "+ANDROID"; 687 field public static final String VENDOR_SPECIFIC_HEADSET_EVENT_COMPANY_ID_CATEGORY = "android.bluetooth.headset.intent.category.companyid"; 688 } 689 690 @Deprecated public final class BluetoothHealth implements android.bluetooth.BluetoothProfile { 691 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean connectChannelToSource(android.bluetooth.BluetoothDevice, android.bluetooth.BluetoothHealthAppConfiguration); 692 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disconnectChannel(android.bluetooth.BluetoothDevice, android.bluetooth.BluetoothHealthAppConfiguration, int); 693 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 694 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice); 695 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]); 696 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.os.ParcelFileDescriptor getMainChannelFd(android.bluetooth.BluetoothDevice, android.bluetooth.BluetoothHealthAppConfiguration); 697 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean registerSinkAppConfiguration(String, int, android.bluetooth.BluetoothHealthCallback); 698 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean unregisterAppConfiguration(android.bluetooth.BluetoothHealthAppConfiguration); 699 field @Deprecated public static final int APP_CONFIG_REGISTRATION_FAILURE = 1; // 0x1 700 field @Deprecated public static final int APP_CONFIG_REGISTRATION_SUCCESS = 0; // 0x0 701 field @Deprecated public static final int APP_CONFIG_UNREGISTRATION_FAILURE = 3; // 0x3 702 field @Deprecated public static final int APP_CONFIG_UNREGISTRATION_SUCCESS = 2; // 0x2 703 field @Deprecated public static final int CHANNEL_TYPE_RELIABLE = 10; // 0xa 704 field @Deprecated public static final int CHANNEL_TYPE_STREAMING = 11; // 0xb 705 field @Deprecated public static final int SINK_ROLE = 2; // 0x2 706 field @Deprecated public static final int SOURCE_ROLE = 1; // 0x1 707 field @Deprecated public static final int STATE_CHANNEL_CONNECTED = 2; // 0x2 708 field @Deprecated public static final int STATE_CHANNEL_CONNECTING = 1; // 0x1 709 field @Deprecated public static final int STATE_CHANNEL_DISCONNECTED = 0; // 0x0 710 field @Deprecated public static final int STATE_CHANNEL_DISCONNECTING = 3; // 0x3 711 } 712 713 @Deprecated public final class BluetoothHealthAppConfiguration implements android.os.Parcelable { 714 method @Deprecated public int describeContents(); 715 method @Deprecated public int getDataType(); 716 method @Deprecated public String getName(); 717 method @Deprecated public int getRole(); 718 method @Deprecated public void writeToParcel(android.os.Parcel, int); 719 field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHealthAppConfiguration> CREATOR; 720 } 721 722 @Deprecated public abstract class BluetoothHealthCallback { 723 ctor @Deprecated public BluetoothHealthCallback(); 724 method @Deprecated @BinderThread public void onHealthAppConfigurationStatusChange(android.bluetooth.BluetoothHealthAppConfiguration, int); 725 method @Deprecated @BinderThread public void onHealthChannelStateChange(android.bluetooth.BluetoothHealthAppConfiguration, android.bluetooth.BluetoothDevice, int, int, android.os.ParcelFileDescriptor, int); 726 } 727 728 public final class BluetoothHearingAid implements android.bluetooth.BluetoothProfile { 729 method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 730 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice); 731 method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]); 732 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.hearingaid.profile.action.CONNECTION_STATE_CHANGED"; 733 } 734 735 public final class BluetoothHidDevice implements android.bluetooth.BluetoothProfile { 736 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean connect(android.bluetooth.BluetoothDevice); 737 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disconnect(android.bluetooth.BluetoothDevice); 738 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 739 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice); 740 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]); 741 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); 742 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean replyReport(android.bluetooth.BluetoothDevice, byte, byte, byte[]); 743 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean reportError(android.bluetooth.BluetoothDevice, byte); 744 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean sendReport(android.bluetooth.BluetoothDevice, int, byte[]); 745 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean unregisterApp(); 746 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.hiddevice.profile.action.CONNECTION_STATE_CHANGED"; 747 field public static final byte ERROR_RSP_INVALID_PARAM = 4; // 0x4 748 field public static final byte ERROR_RSP_INVALID_RPT_ID = 2; // 0x2 749 field public static final byte ERROR_RSP_NOT_READY = 1; // 0x1 750 field public static final byte ERROR_RSP_SUCCESS = 0; // 0x0 751 field public static final byte ERROR_RSP_UNKNOWN = 14; // 0xe 752 field public static final byte ERROR_RSP_UNSUPPORTED_REQ = 3; // 0x3 753 field public static final byte PROTOCOL_BOOT_MODE = 0; // 0x0 754 field public static final byte PROTOCOL_REPORT_MODE = 1; // 0x1 755 field public static final byte REPORT_TYPE_FEATURE = 3; // 0x3 756 field public static final byte REPORT_TYPE_INPUT = 1; // 0x1 757 field public static final byte REPORT_TYPE_OUTPUT = 2; // 0x2 758 field public static final byte SUBCLASS1_COMBO = -64; // 0xffffffc0 759 field public static final byte SUBCLASS1_KEYBOARD = 64; // 0x40 760 field public static final byte SUBCLASS1_MOUSE = -128; // 0xffffff80 761 field public static final byte SUBCLASS1_NONE = 0; // 0x0 762 field public static final byte SUBCLASS2_CARD_READER = 6; // 0x6 763 field public static final byte SUBCLASS2_DIGITIZER_TABLET = 5; // 0x5 764 field public static final byte SUBCLASS2_GAMEPAD = 2; // 0x2 765 field public static final byte SUBCLASS2_JOYSTICK = 1; // 0x1 766 field public static final byte SUBCLASS2_REMOTE_CONTROL = 3; // 0x3 767 field public static final byte SUBCLASS2_SENSING_DEVICE = 4; // 0x4 768 field public static final byte SUBCLASS2_UNCATEGORIZED = 0; // 0x0 769 } 770 771 public abstract static class BluetoothHidDevice.Callback { 772 ctor public BluetoothHidDevice.Callback(); 773 method public void onAppStatusChanged(android.bluetooth.BluetoothDevice, boolean); 774 method public void onConnectionStateChanged(android.bluetooth.BluetoothDevice, int); 775 method public void onGetReport(android.bluetooth.BluetoothDevice, byte, byte, int); 776 method public void onInterruptData(android.bluetooth.BluetoothDevice, byte, byte[]); 777 method public void onSetProtocol(android.bluetooth.BluetoothDevice, byte); 778 method public void onSetReport(android.bluetooth.BluetoothDevice, byte, byte, byte[]); 779 method public void onVirtualCableUnplug(android.bluetooth.BluetoothDevice); 780 } 781 782 public final class BluetoothHidDeviceAppQosSettings implements android.os.Parcelable { 783 ctor public BluetoothHidDeviceAppQosSettings(int, int, int, int, int, int); 784 method public int describeContents(); 785 method public int getDelayVariation(); 786 method public int getLatency(); 787 method public int getPeakBandwidth(); 788 method public int getServiceType(); 789 method public int getTokenBucketSize(); 790 method public int getTokenRate(); 791 method public void writeToParcel(android.os.Parcel, int); 792 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHidDeviceAppQosSettings> CREATOR; 793 field public static final int MAX = -1; // 0xffffffff 794 field public static final int SERVICE_BEST_EFFORT = 1; // 0x1 795 field public static final int SERVICE_GUARANTEED = 2; // 0x2 796 field public static final int SERVICE_NO_TRAFFIC = 0; // 0x0 797 } 798 799 public final class BluetoothHidDeviceAppSdpSettings implements android.os.Parcelable { 800 ctor public BluetoothHidDeviceAppSdpSettings(String, String, String, byte, byte[]); 801 method public int describeContents(); 802 method public String getDescription(); 803 method public byte[] getDescriptors(); 804 method public String getName(); 805 method public String getProvider(); 806 method public byte getSubclass(); 807 method public void writeToParcel(android.os.Parcel, int); 808 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHidDeviceAppSdpSettings> CREATOR; 809 } 810 811 public final class BluetoothLeAudio implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile { 812 method public void close(); 813 method protected void finalize(); 814 method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 815 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice); 816 method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]); 817 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"; 818 } 819 820 public final class BluetoothManager { 821 method public android.bluetooth.BluetoothAdapter getAdapter(); 822 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(int); 823 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice, int); 824 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int, int[]); 825 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGattServer openGattServer(android.content.Context, android.bluetooth.BluetoothGattServerCallback); 826 } 827 828 public interface BluetoothProfile { 829 method public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 830 method public int getConnectionState(android.bluetooth.BluetoothDevice); 831 method public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]); 832 field public static final int A2DP = 2; // 0x2 833 field public static final String EXTRA_PREVIOUS_STATE = "android.bluetooth.profile.extra.PREVIOUS_STATE"; 834 field public static final String EXTRA_STATE = "android.bluetooth.profile.extra.STATE"; 835 field public static final int GATT = 7; // 0x7 836 field public static final int GATT_SERVER = 8; // 0x8 837 field public static final int HEADSET = 1; // 0x1 838 field @Deprecated public static final int HEALTH = 3; // 0x3 839 field public static final int HEARING_AID = 21; // 0x15 840 field public static final int HID_DEVICE = 19; // 0x13 841 field public static final int SAP = 10; // 0xa 842 field public static final int STATE_CONNECTED = 2; // 0x2 843 field public static final int STATE_CONNECTING = 1; // 0x1 844 field public static final int STATE_DISCONNECTED = 0; // 0x0 845 field public static final int STATE_DISCONNECTING = 3; // 0x3 846 } 847 848 public static interface BluetoothProfile.ServiceListener { 849 method public void onServiceConnected(int, android.bluetooth.BluetoothProfile); 850 method public void onServiceDisconnected(int); 851 } 852 853 public final class BluetoothServerSocket implements java.io.Closeable { 854 method public android.bluetooth.BluetoothSocket accept() throws java.io.IOException; 855 method public android.bluetooth.BluetoothSocket accept(int) throws java.io.IOException; 856 method public void close() throws java.io.IOException; 857 method public int getPsm(); 858 } 859 860 public final class BluetoothSocket implements java.io.Closeable { 861 method public void close() throws java.io.IOException; 862 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void connect() throws java.io.IOException; 863 method public int getConnectionType(); 864 method public java.io.InputStream getInputStream() throws java.io.IOException; 865 method public int getMaxReceivePacketSize(); 866 method public int getMaxTransmitPacketSize(); 867 method public java.io.OutputStream getOutputStream() throws java.io.IOException; 868 method public android.bluetooth.BluetoothDevice getRemoteDevice(); 869 method public boolean isConnected(); 870 field public static final int TYPE_L2CAP = 3; // 0x3 871 field public static final int TYPE_RFCOMM = 1; // 0x1 872 field public static final int TYPE_SCO = 2; // 0x2 873 } 874 875 public final class BluetoothStatusCodes { 876 field public static final int ERROR_BLUETOOTH_NOT_ALLOWED = 2; // 0x2 877 field public static final int ERROR_BLUETOOTH_NOT_ENABLED = 1; // 0x1 878 field public static final int ERROR_DEVICE_NOT_BONDED = 3; // 0x3 879 field public static final int ERROR_MISSING_BLUETOOTH_CONNECT_PERMISSION = 6; // 0x6 880 field public static final int ERROR_UNKNOWN = 2147483647; // 0x7fffffff 881 field public static final int SUCCESS = 0; // 0x0 882 } 883 884} 885 886package android.bluetooth.le { 887 888 public abstract class AdvertiseCallback { 889 ctor public AdvertiseCallback(); 890 method public void onStartFailure(int); 891 method public void onStartSuccess(android.bluetooth.le.AdvertiseSettings); 892 field public static final int ADVERTISE_FAILED_ALREADY_STARTED = 3; // 0x3 893 field public static final int ADVERTISE_FAILED_DATA_TOO_LARGE = 1; // 0x1 894 field public static final int ADVERTISE_FAILED_FEATURE_UNSUPPORTED = 5; // 0x5 895 field public static final int ADVERTISE_FAILED_INTERNAL_ERROR = 4; // 0x4 896 field public static final int ADVERTISE_FAILED_TOO_MANY_ADVERTISERS = 2; // 0x2 897 } 898 899 public final class AdvertiseData implements android.os.Parcelable { 900 method public int describeContents(); 901 method public boolean getIncludeDeviceName(); 902 method public boolean getIncludeTxPowerLevel(); 903 method public android.util.SparseArray<byte[]> getManufacturerSpecificData(); 904 method public java.util.Map<android.os.ParcelUuid,byte[]> getServiceData(); 905 method @NonNull public java.util.List<android.os.ParcelUuid> getServiceSolicitationUuids(); 906 method public java.util.List<android.os.ParcelUuid> getServiceUuids(); 907 method public void writeToParcel(android.os.Parcel, int); 908 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.AdvertiseData> CREATOR; 909 } 910 911 public static final class AdvertiseData.Builder { 912 ctor public AdvertiseData.Builder(); 913 method public android.bluetooth.le.AdvertiseData.Builder addManufacturerData(int, byte[]); 914 method public android.bluetooth.le.AdvertiseData.Builder addServiceData(android.os.ParcelUuid, byte[]); 915 method @NonNull public android.bluetooth.le.AdvertiseData.Builder addServiceSolicitationUuid(@NonNull android.os.ParcelUuid); 916 method public android.bluetooth.le.AdvertiseData.Builder addServiceUuid(android.os.ParcelUuid); 917 method public android.bluetooth.le.AdvertiseData build(); 918 method public android.bluetooth.le.AdvertiseData.Builder setIncludeDeviceName(boolean); 919 method public android.bluetooth.le.AdvertiseData.Builder setIncludeTxPowerLevel(boolean); 920 } 921 922 public final class AdvertiseSettings implements android.os.Parcelable { 923 method public int describeContents(); 924 method public int getMode(); 925 method public int getTimeout(); 926 method public int getTxPowerLevel(); 927 method public boolean isConnectable(); 928 method public void writeToParcel(android.os.Parcel, int); 929 field public static final int ADVERTISE_MODE_BALANCED = 1; // 0x1 930 field public static final int ADVERTISE_MODE_LOW_LATENCY = 2; // 0x2 931 field public static final int ADVERTISE_MODE_LOW_POWER = 0; // 0x0 932 field public static final int ADVERTISE_TX_POWER_HIGH = 3; // 0x3 933 field public static final int ADVERTISE_TX_POWER_LOW = 1; // 0x1 934 field public static final int ADVERTISE_TX_POWER_MEDIUM = 2; // 0x2 935 field public static final int ADVERTISE_TX_POWER_ULTRA_LOW = 0; // 0x0 936 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.AdvertiseSettings> CREATOR; 937 } 938 939 public static final class AdvertiseSettings.Builder { 940 ctor public AdvertiseSettings.Builder(); 941 method public android.bluetooth.le.AdvertiseSettings build(); 942 method public android.bluetooth.le.AdvertiseSettings.Builder setAdvertiseMode(int); 943 method public android.bluetooth.le.AdvertiseSettings.Builder setConnectable(boolean); 944 method public android.bluetooth.le.AdvertiseSettings.Builder setTimeout(int); 945 method public android.bluetooth.le.AdvertiseSettings.Builder setTxPowerLevel(int); 946 } 947 948 public final class AdvertisingSet { 949 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void enableAdvertising(boolean, int, int); 950 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setAdvertisingData(android.bluetooth.le.AdvertiseData); 951 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setAdvertisingParameters(android.bluetooth.le.AdvertisingSetParameters); 952 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setPeriodicAdvertisingData(android.bluetooth.le.AdvertiseData); 953 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setPeriodicAdvertisingEnabled(boolean); 954 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setPeriodicAdvertisingParameters(android.bluetooth.le.PeriodicAdvertisingParameters); 955 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setScanResponseData(android.bluetooth.le.AdvertiseData); 956 } 957 958 public abstract class AdvertisingSetCallback { 959 ctor public AdvertisingSetCallback(); 960 method public void onAdvertisingDataSet(android.bluetooth.le.AdvertisingSet, int); 961 method public void onAdvertisingEnabled(android.bluetooth.le.AdvertisingSet, boolean, int); 962 method public void onAdvertisingParametersUpdated(android.bluetooth.le.AdvertisingSet, int, int); 963 method public void onAdvertisingSetStarted(android.bluetooth.le.AdvertisingSet, int, int); 964 method public void onAdvertisingSetStopped(android.bluetooth.le.AdvertisingSet); 965 method public void onPeriodicAdvertisingDataSet(android.bluetooth.le.AdvertisingSet, int); 966 method public void onPeriodicAdvertisingEnabled(android.bluetooth.le.AdvertisingSet, boolean, int); 967 method public void onPeriodicAdvertisingParametersUpdated(android.bluetooth.le.AdvertisingSet, int); 968 method public void onScanResponseDataSet(android.bluetooth.le.AdvertisingSet, int); 969 field public static final int ADVERTISE_FAILED_ALREADY_STARTED = 3; // 0x3 970 field public static final int ADVERTISE_FAILED_DATA_TOO_LARGE = 1; // 0x1 971 field public static final int ADVERTISE_FAILED_FEATURE_UNSUPPORTED = 5; // 0x5 972 field public static final int ADVERTISE_FAILED_INTERNAL_ERROR = 4; // 0x4 973 field public static final int ADVERTISE_FAILED_TOO_MANY_ADVERTISERS = 2; // 0x2 974 field public static final int ADVERTISE_SUCCESS = 0; // 0x0 975 } 976 977 public final class AdvertisingSetParameters implements android.os.Parcelable { 978 method public int describeContents(); 979 method public int getInterval(); 980 method public int getPrimaryPhy(); 981 method public int getSecondaryPhy(); 982 method public int getTxPowerLevel(); 983 method public boolean includeTxPower(); 984 method public boolean isAnonymous(); 985 method public boolean isConnectable(); 986 method public boolean isLegacy(); 987 method public boolean isScannable(); 988 method public void writeToParcel(android.os.Parcel, int); 989 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.AdvertisingSetParameters> CREATOR; 990 field public static final int INTERVAL_HIGH = 1600; // 0x640 991 field public static final int INTERVAL_LOW = 160; // 0xa0 992 field public static final int INTERVAL_MAX = 16777215; // 0xffffff 993 field public static final int INTERVAL_MEDIUM = 400; // 0x190 994 field public static final int INTERVAL_MIN = 160; // 0xa0 995 field public static final int TX_POWER_HIGH = 1; // 0x1 996 field public static final int TX_POWER_LOW = -15; // 0xfffffff1 997 field public static final int TX_POWER_MAX = 1; // 0x1 998 field public static final int TX_POWER_MEDIUM = -7; // 0xfffffff9 999 field public static final int TX_POWER_MIN = -127; // 0xffffff81 1000 field public static final int TX_POWER_ULTRA_LOW = -21; // 0xffffffeb 1001 } 1002 1003 public static final class AdvertisingSetParameters.Builder { 1004 ctor public AdvertisingSetParameters.Builder(); 1005 method public android.bluetooth.le.AdvertisingSetParameters build(); 1006 method public android.bluetooth.le.AdvertisingSetParameters.Builder setAnonymous(boolean); 1007 method public android.bluetooth.le.AdvertisingSetParameters.Builder setConnectable(boolean); 1008 method public android.bluetooth.le.AdvertisingSetParameters.Builder setIncludeTxPower(boolean); 1009 method public android.bluetooth.le.AdvertisingSetParameters.Builder setInterval(int); 1010 method public android.bluetooth.le.AdvertisingSetParameters.Builder setLegacyMode(boolean); 1011 method public android.bluetooth.le.AdvertisingSetParameters.Builder setPrimaryPhy(int); 1012 method public android.bluetooth.le.AdvertisingSetParameters.Builder setScannable(boolean); 1013 method public android.bluetooth.le.AdvertisingSetParameters.Builder setSecondaryPhy(int); 1014 method public android.bluetooth.le.AdvertisingSetParameters.Builder setTxPowerLevel(int); 1015 } 1016 1017 public final class BluetoothLeAdvertiser { 1018 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback); 1019 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback); 1020 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) 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); 1021 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) 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); 1022 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) 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); 1023 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) 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); 1024 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void stopAdvertising(android.bluetooth.le.AdvertiseCallback); 1025 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void stopAdvertisingSet(android.bluetooth.le.AdvertisingSetCallback); 1026 } 1027 1028 public final class BluetoothLeScanner { 1029 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void flushPendingScanResults(android.bluetooth.le.ScanCallback); 1030 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void startScan(android.bluetooth.le.ScanCallback); 1031 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); 1032 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); 1033 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void stopScan(android.bluetooth.le.ScanCallback); 1034 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void stopScan(android.app.PendingIntent); 1035 field public static final String EXTRA_CALLBACK_TYPE = "android.bluetooth.le.extra.CALLBACK_TYPE"; 1036 field public static final String EXTRA_ERROR_CODE = "android.bluetooth.le.extra.ERROR_CODE"; 1037 field public static final String EXTRA_LIST_SCAN_RESULT = "android.bluetooth.le.extra.LIST_SCAN_RESULT"; 1038 } 1039 1040 public final class PeriodicAdvertisingParameters implements android.os.Parcelable { 1041 method public int describeContents(); 1042 method public boolean getIncludeTxPower(); 1043 method public int getInterval(); 1044 method public void writeToParcel(android.os.Parcel, int); 1045 field public static final android.os.Parcelable.Creator<android.bluetooth.le.PeriodicAdvertisingParameters> CREATOR; 1046 } 1047 1048 public static final class PeriodicAdvertisingParameters.Builder { 1049 ctor public PeriodicAdvertisingParameters.Builder(); 1050 method public android.bluetooth.le.PeriodicAdvertisingParameters build(); 1051 method public android.bluetooth.le.PeriodicAdvertisingParameters.Builder setIncludeTxPower(boolean); 1052 method public android.bluetooth.le.PeriodicAdvertisingParameters.Builder setInterval(int); 1053 } 1054 1055 public abstract class ScanCallback { 1056 ctor public ScanCallback(); 1057 method public void onBatchScanResults(java.util.List<android.bluetooth.le.ScanResult>); 1058 method public void onScanFailed(int); 1059 method public void onScanResult(int, android.bluetooth.le.ScanResult); 1060 field public static final int SCAN_FAILED_ALREADY_STARTED = 1; // 0x1 1061 field public static final int SCAN_FAILED_APPLICATION_REGISTRATION_FAILED = 2; // 0x2 1062 field public static final int SCAN_FAILED_FEATURE_UNSUPPORTED = 4; // 0x4 1063 field public static final int SCAN_FAILED_INTERNAL_ERROR = 3; // 0x3 1064 } 1065 1066 public final class ScanFilter implements android.os.Parcelable { 1067 method public int describeContents(); 1068 method @Nullable public String getDeviceAddress(); 1069 method @Nullable public String getDeviceName(); 1070 method @Nullable public byte[] getManufacturerData(); 1071 method @Nullable public byte[] getManufacturerDataMask(); 1072 method public int getManufacturerId(); 1073 method @Nullable public byte[] getServiceData(); 1074 method @Nullable public byte[] getServiceDataMask(); 1075 method @Nullable public android.os.ParcelUuid getServiceDataUuid(); 1076 method @Nullable public android.os.ParcelUuid getServiceSolicitationUuid(); 1077 method @Nullable public android.os.ParcelUuid getServiceSolicitationUuidMask(); 1078 method @Nullable public android.os.ParcelUuid getServiceUuid(); 1079 method @Nullable public android.os.ParcelUuid getServiceUuidMask(); 1080 method public boolean matches(android.bluetooth.le.ScanResult); 1081 method public void writeToParcel(android.os.Parcel, int); 1082 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ScanFilter> CREATOR; 1083 } 1084 1085 public static final class ScanFilter.Builder { 1086 ctor public ScanFilter.Builder(); 1087 method public android.bluetooth.le.ScanFilter build(); 1088 method public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(String); 1089 method public android.bluetooth.le.ScanFilter.Builder setDeviceName(String); 1090 method public android.bluetooth.le.ScanFilter.Builder setManufacturerData(int, byte[]); 1091 method public android.bluetooth.le.ScanFilter.Builder setManufacturerData(int, byte[], byte[]); 1092 method public android.bluetooth.le.ScanFilter.Builder setServiceData(android.os.ParcelUuid, byte[]); 1093 method public android.bluetooth.le.ScanFilter.Builder setServiceData(android.os.ParcelUuid, byte[], byte[]); 1094 method @NonNull public android.bluetooth.le.ScanFilter.Builder setServiceSolicitationUuid(@Nullable android.os.ParcelUuid); 1095 method @NonNull public android.bluetooth.le.ScanFilter.Builder setServiceSolicitationUuid(@Nullable android.os.ParcelUuid, @Nullable android.os.ParcelUuid); 1096 method public android.bluetooth.le.ScanFilter.Builder setServiceUuid(android.os.ParcelUuid); 1097 method public android.bluetooth.le.ScanFilter.Builder setServiceUuid(android.os.ParcelUuid, android.os.ParcelUuid); 1098 } 1099 1100 public final class ScanRecord { 1101 method public int getAdvertiseFlags(); 1102 method public byte[] getBytes(); 1103 method @Nullable public String getDeviceName(); 1104 method public android.util.SparseArray<byte[]> getManufacturerSpecificData(); 1105 method @Nullable public byte[] getManufacturerSpecificData(int); 1106 method public java.util.Map<android.os.ParcelUuid,byte[]> getServiceData(); 1107 method @Nullable public byte[] getServiceData(android.os.ParcelUuid); 1108 method @NonNull public java.util.List<android.os.ParcelUuid> getServiceSolicitationUuids(); 1109 method public java.util.List<android.os.ParcelUuid> getServiceUuids(); 1110 method public int getTxPowerLevel(); 1111 } 1112 1113 public final class ScanResult implements android.os.Parcelable { 1114 ctor @Deprecated public ScanResult(android.bluetooth.BluetoothDevice, android.bluetooth.le.ScanRecord, int, long); 1115 ctor public ScanResult(android.bluetooth.BluetoothDevice, int, int, int, int, int, int, int, android.bluetooth.le.ScanRecord, long); 1116 method public int describeContents(); 1117 method public int getAdvertisingSid(); 1118 method public int getDataStatus(); 1119 method public android.bluetooth.BluetoothDevice getDevice(); 1120 method public int getPeriodicAdvertisingInterval(); 1121 method public int getPrimaryPhy(); 1122 method public int getRssi(); 1123 method @Nullable public android.bluetooth.le.ScanRecord getScanRecord(); 1124 method public int getSecondaryPhy(); 1125 method public long getTimestampNanos(); 1126 method public int getTxPower(); 1127 method public boolean isConnectable(); 1128 method public boolean isLegacy(); 1129 method public void writeToParcel(android.os.Parcel, int); 1130 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ScanResult> CREATOR; 1131 field public static final int DATA_COMPLETE = 0; // 0x0 1132 field public static final int DATA_TRUNCATED = 2; // 0x2 1133 field public static final int PERIODIC_INTERVAL_NOT_PRESENT = 0; // 0x0 1134 field public static final int PHY_UNUSED = 0; // 0x0 1135 field public static final int SID_NOT_PRESENT = 255; // 0xff 1136 field public static final int TX_POWER_NOT_PRESENT = 127; // 0x7f 1137 } 1138 1139 public final class ScanSettings implements android.os.Parcelable { 1140 method public int describeContents(); 1141 method public int getCallbackType(); 1142 method public boolean getLegacy(); 1143 method public int getPhy(); 1144 method public long getReportDelayMillis(); 1145 method public int getScanMode(); 1146 method public int getScanResultType(); 1147 method public void writeToParcel(android.os.Parcel, int); 1148 field public static final int CALLBACK_TYPE_ALL_MATCHES = 1; // 0x1 1149 field public static final int CALLBACK_TYPE_FIRST_MATCH = 2; // 0x2 1150 field public static final int CALLBACK_TYPE_MATCH_LOST = 4; // 0x4 1151 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ScanSettings> CREATOR; 1152 field public static final int MATCH_MODE_AGGRESSIVE = 1; // 0x1 1153 field public static final int MATCH_MODE_STICKY = 2; // 0x2 1154 field public static final int MATCH_NUM_FEW_ADVERTISEMENT = 2; // 0x2 1155 field public static final int MATCH_NUM_MAX_ADVERTISEMENT = 3; // 0x3 1156 field public static final int MATCH_NUM_ONE_ADVERTISEMENT = 1; // 0x1 1157 field public static final int PHY_LE_ALL_SUPPORTED = 255; // 0xff 1158 field public static final int SCAN_MODE_BALANCED = 1; // 0x1 1159 field public static final int SCAN_MODE_LOW_LATENCY = 2; // 0x2 1160 field public static final int SCAN_MODE_LOW_POWER = 0; // 0x0 1161 field public static final int SCAN_MODE_OPPORTUNISTIC = -1; // 0xffffffff 1162 } 1163 1164 public static final class ScanSettings.Builder { 1165 ctor public ScanSettings.Builder(); 1166 method public android.bluetooth.le.ScanSettings build(); 1167 method public android.bluetooth.le.ScanSettings.Builder setCallbackType(int); 1168 method public android.bluetooth.le.ScanSettings.Builder setLegacy(boolean); 1169 method public android.bluetooth.le.ScanSettings.Builder setMatchMode(int); 1170 method public android.bluetooth.le.ScanSettings.Builder setNumOfMatches(int); 1171 method public android.bluetooth.le.ScanSettings.Builder setPhy(int); 1172 method public android.bluetooth.le.ScanSettings.Builder setReportDelay(long); 1173 method public android.bluetooth.le.ScanSettings.Builder setScanMode(int); 1174 } 1175 1176} 1177 1178