1# 蓝牙设置开发指导 2 3## 简介 4蓝牙设置主要提供了开启蓝牙、关闭蓝牙、获取蓝牙状态的方法,帮助开发者实现基本蓝牙功能。 5 6## 场景介绍 7主要场景有: 8 9- 开启、关闭蓝牙 10 11## 接口说明 12 13完整的 JS API 说明以及实例代码请参考:[access 接口](../../reference/apis-connectivity-kit/js-apis-bluetooth-access.md)。 14 15具体接口说明如下表。 16 17| 接口名 | 功能描述 | 18| ---------------------------------- | ------------------------------------------------------------------------------ | 19| enableBluetooth() | 开启蓝牙。 | 20| disableBluetooth() | 关闭蓝牙。 | 21| getState() | 获取蓝牙开关状态。 | 22| on(type: 'stateChange') | 订阅蓝牙设备开关状态事件。 | 23| off(type: 'stateChange') | 取消订阅蓝牙设备开关状态事件。 | 24 25 26## 主要场景开发步骤 27 28### 开启、关闭蓝牙 291. import需要的access模块。 302. 需要SystemCapability.Communication.Bluetooth.Core系统能力。 313. 开启蓝牙。 324. 关闭蓝牙。 335. 示例代码: 34 35 ```ts 36 import { access } from '@kit.ConnectivityKit'; 37 import { AsyncCallback, BusinessError } from '@kit.BasicServicesKit'; 38 39 // 开启蓝牙 40 access.enableBluetooth(); 41 access.on('stateChange', (data) => { 42 let btStateMessage = ''; 43 switch (data) { 44 case 0: 45 btStateMessage += 'STATE_OFF'; 46 break; 47 case 1: 48 btStateMessage += 'STATE_TURNING_ON'; 49 break; 50 case 2: 51 btStateMessage += 'STATE_ON'; 52 break; 53 case 3: 54 btStateMessage += 'STATE_TURNING_OFF'; 55 break; 56 case 4: 57 btStateMessage += 'STATE_BLE_TURNING_ON'; 58 break; 59 case 5: 60 btStateMessage += 'STATE_BLE_ON'; 61 break; 62 case 6: 63 btStateMessage += 'STATE_BLE_TURNING_OFF'; 64 break; 65 default: 66 btStateMessage += 'unknown status'; 67 break; 68 } 69 if (btStateMessage == 'STATE_ON') { 70 access.off('stateChange'); 71 } 72 console.info('bluetooth statues: ' + btStateMessage); 73 }) 74 75 // 关闭蓝牙 76 access.disableBluetooth(); 77 access.on('stateChange', (data) => { 78 let btStateMessage = ''; 79 switch (data) { 80 case 0: 81 btStateMessage += 'STATE_OFF'; 82 break; 83 case 1: 84 btStateMessage += 'STATE_TURNING_ON'; 85 break; 86 case 2: 87 btStateMessage += 'STATE_ON'; 88 break; 89 case 3: 90 btStateMessage += 'STATE_TURNING_OFF'; 91 break; 92 case 4: 93 btStateMessage += 'STATE_BLE_TURNING_ON'; 94 break; 95 case 5: 96 btStateMessage += 'STATE_BLE_ON'; 97 break; 98 case 6: 99 btStateMessage += 'STATE_BLE_TURNING_OFF'; 100 break; 101 default: 102 btStateMessage += 'unknown status'; 103 break; 104 } 105 if (btStateMessage == 'STATE_OFF') { 106 access.off('stateChange'); 107 } 108 console.info("bluetooth statues: " + btStateMessage); 109 }) 110 ``` 111 1126. 错误码请参见[蓝牙服务子系统错误码](../../reference/apis-connectivity-kit/errorcode-bluetoothManager.md)。 1137. 如何验证: 114执行开启蓝牙代码,记录日志“bluetooth statues: STATE_ON”,则表示开启蓝牙成功。执行关闭蓝牙代码,记录日志“bluetooth statues: STATE_OFF”,则表示蓝牙关闭成功。