• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
36import access from '@ohos.bluetooth.access';
37import { BusinessError } from '@ohos.base';
38
39// 开启蓝牙
40access.enableBluetooth();
41access.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// 关闭蓝牙
76access.disableBluetooth();
77access.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”,则表示蓝牙关闭成功。