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. 导入所需的access模块。 302. 需要SystemCapability.Communication.Bluetooth.Core系统能力。 313. 需要申请权限ohos.permission.ACCESS_BLUETOOTH。 324. 开启蓝牙。 335. 关闭蓝牙。 346. 示例代码: 35 36 ```ts 37 import { access } from '@kit.ConnectivityKit'; 38 import { AsyncCallback, BusinessError } from '@kit.BasicServicesKit'; 39 40 // 开启蓝牙 41 access.enableBluetooth(); 42 access.on('stateChange', (data) => { 43 let btStateMessage = ''; 44 switch (data) { 45 case 0: 46 btStateMessage += 'STATE_OFF'; 47 break; 48 case 1: 49 btStateMessage += 'STATE_TURNING_ON'; 50 break; 51 case 2: 52 btStateMessage += 'STATE_ON'; 53 break; 54 case 3: 55 btStateMessage += 'STATE_TURNING_OFF'; 56 break; 57 case 4: 58 btStateMessage += 'STATE_BLE_TURNING_ON'; 59 break; 60 case 5: 61 btStateMessage += 'STATE_BLE_ON'; 62 break; 63 case 6: 64 btStateMessage += 'STATE_BLE_TURNING_OFF'; 65 break; 66 default: 67 btStateMessage += 'unknown status'; 68 break; 69 } 70 if (btStateMessage == 'STATE_ON') { 71 access.off('stateChange'); 72 } 73 console.info("bluetooth status: " + btStateMessage); 74 }) 75 76 // 关闭蓝牙 77 access.disableBluetooth(); 78 access.on('stateChange', (data) => { 79 let btStateMessage = ''; 80 switch (data) { 81 case 0: 82 btStateMessage += 'STATE_OFF'; 83 break; 84 case 1: 85 btStateMessage += 'STATE_TURNING_ON'; 86 break; 87 case 2: 88 btStateMessage += 'STATE_ON'; 89 break; 90 case 3: 91 btStateMessage += 'STATE_TURNING_OFF'; 92 break; 93 case 4: 94 btStateMessage += 'STATE_BLE_TURNING_ON'; 95 break; 96 case 5: 97 btStateMessage += 'STATE_BLE_ON'; 98 break; 99 case 6: 100 btStateMessage += 'STATE_BLE_TURNING_OFF'; 101 break; 102 default: 103 btStateMessage += 'unknown status'; 104 break; 105 } 106 if (btStateMessage == 'STATE_OFF') { 107 access.off('stateChange'); 108 } 109 console.info("bluetooth status: " + btStateMessage); 110 }) 111 ``` 112 1136. 错误码请参见[蓝牙服务子系统错误码](../../reference/apis-connectivity-kit/errorcode-bluetoothManager.md)。 1147. 如何验证: 115执行开启蓝牙代码,记录日志“bluetooth status: STATE_ON”,则表示开启蓝牙成功。执行关闭蓝牙代码,记录日志“bluetooth status: STATE_OFF”,则表示蓝牙关闭成功。