藍(lán)牙模塊提供了基礎(chǔ)的傳統(tǒng)藍(lán)牙能力以及BLE的掃描、廣播等功能。
本模塊首批接口從API version 9開(kāi)始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。
enableBluetooth(): void
開(kāi)啟藍(lán)牙。
需要權(quán)限:ohos.permission.DISCOVER_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900099 | Operation failed. |
示例:
- try {
- bluetoothManager.enableBluetooth();
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
disableBluetooth(): void
關(guān)閉藍(lán)牙。
需要權(quán)限:ohos.permission.DISCOVER_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900099 | Operation failed. |
示例:
- try {
- bluetoothManager.disableBluetooth();
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
getLocalName(): string
獲取藍(lán)牙本地設(shè)備名稱。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
返回值:
類型 | 說(shuō)明 |
---|---|
string | 藍(lán)牙本地設(shè)備名稱。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900099 | Operation failed. |
示例:
- try {
- let localName = bluetoothManager.getLocalName();
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
getState(): BluetoothState
獲取藍(lán)牙開(kāi)關(guān)狀態(tài)。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
返回值:
類型 | 說(shuō)明 |
---|---|
表示藍(lán)牙開(kāi)關(guān)狀態(tài)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900099 | Operation failed. |
示例:
- try {
- let state = bluetoothManager.getState();
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
getBtConnectionState(): ProfileConnectionState
獲取藍(lán)牙設(shè)備的Profile連接狀態(tài)。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
返回值:
類型 | 說(shuō)明 |
---|---|
表示藍(lán)牙設(shè)備的Profile連接狀態(tài)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900099 | Operation failed. |
示例:
- try {
- let connectionState = bluetoothManager.getBtConnectionState();
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
setLocalName(name: string): void
設(shè)置藍(lán)牙本地設(shè)備名稱。
需要權(quán)限:ohos.permission.DISCOVER_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 要設(shè)置的藍(lán)牙名稱,最大長(zhǎng)度為248字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900099 | Operation failed. |
示例:
- try {
- bluetoothManager.setLocalName('device_name');
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
pairDevice(deviceId: string): void
發(fā)起藍(lán)牙配對(duì)。
需要權(quán)限:ohos.permission.DISCOVER_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
deviceId | string | 是 | 表示配對(duì)的遠(yuǎn)端設(shè)備地址,例如:"XX:XX:XX:XX:XX:XX"。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900099 | Operation failed. |
示例:
- try {
- // 實(shí)際的地址可由掃描流程獲取
- bluetoothManager.pairDevice("XX:XX:XX:XX:XX:XX");
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
getProfileConnectionState(profileId: ProfileId): ProfileConnectionState
獲取profile的連接狀態(tài)。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
ProfileId | profileId | 是 | 表示profile的枚舉值,例如:PROFILE_A2DP_SOURCE。 |
返回值:
類型 | 說(shuō)明 |
---|---|
profile的連接狀態(tài)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900004 | Profile is not supported. |
2900099 | Operation failed. |
示例:
- try {
- let result = bluetoothManager.getProfileConnectionState(bluetoothManager.ProfileId.PROFILE_A2DP_SOURCE);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
getRemoteDeviceName(deviceId: string): string
獲取對(duì)端藍(lán)牙設(shè)備的名稱。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
deviceId | string | 是 | 表示遠(yuǎn)程設(shè)備的地址,例如:"XX:XX:XX:XX:XX:XX"。 |
返回值:
類型 | 說(shuō)明 |
---|---|
string | 以字符串格式返回設(shè)備名稱。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900099 | Operation failed. |
示例:
- try {
- let remoteDeviceName = bluetoothManager.getRemoteDeviceName("XX:XX:XX:XX:XX:XX");
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
getRemoteDeviceClass(deviceId: string): DeviceClass
獲取對(duì)端藍(lán)牙設(shè)備的類別。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
deviceId | string | 是 | 表示遠(yuǎn)程設(shè)備的地址,例如:"XX:XX:XX:XX:XX:XX"。 |
返回值:
類型 | 說(shuō)明 |
---|---|
遠(yuǎn)程設(shè)備的類別。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900099 | Operation failed. |
示例:
- try {
- let remoteDeviceClass = bluetoothManager.getRemoteDeviceClass("XX:XX:XX:XX:XX:XX");
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
getPairedDevices(): Array<string>
獲取藍(lán)牙配對(duì)列表。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
返回值:
類型 | 說(shuō)明 |
---|---|
Array<string> | 已配對(duì)藍(lán)牙設(shè)備的地址列表。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900099 | Operation failed. |
示例:
- try {
- let devices = bluetoothManager.getPairedDevices();
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
setBluetoothScanMode(mode: ScanMode, duration: number): void
設(shè)置藍(lán)牙掃描模式,可以被遠(yuǎn)端設(shè)備發(fā)現(xiàn)。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
mode | 是 | 藍(lán)牙掃描模式。 | |
duration | number | 是 | 設(shè)備可被發(fā)現(xiàn)的持續(xù)時(shí)間,單位為毫秒;設(shè)置為0則持續(xù)可發(fā)現(xiàn)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900099 | Operation failed. |
示例:
- try {
- // 設(shè)置為可連接可發(fā)現(xiàn)才可被遠(yuǎn)端設(shè)備掃描到,可以連接。
- bluetoothManager.setBluetoothScanMode(bluetoothManager.ScanMode.SCAN_MODE_CONNECTABLE_GENERAL_DISCOVERABLE, 100);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
getBluetoothScanMode(): ScanMode
獲取藍(lán)牙掃描模式。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
返回值:
類型 | 說(shuō)明 |
---|---|
藍(lán)牙掃描模式。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900099 | Operation failed. |
示例:
- try {
- let scanMode = bluetoothManager.getBluetoothScanMode();
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
startBluetoothDiscovery(): void
開(kāi)啟藍(lán)牙掃描,可以發(fā)現(xiàn)遠(yuǎn)端設(shè)備。
需要權(quán)限:ohos.permission.DISCOVER_BLUETOOTH 和 ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900099 | Operation failed. |
示例:
- let deviceId;
- function onReceiveEvent(data) {
- deviceId = data;
- }
- try {
- bluetoothManager.on('bluetoothDeviceFind', onReceiveEvent);
- bluetoothManager.startBluetoothDiscovery();
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
stopBluetoothDiscovery(): void
關(guān)閉藍(lán)牙掃描。
需要權(quán)限:ohos.permission.DISCOVER_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900099 | Operation failed. |
示例:
- try {
- bluetoothManager.stopBluetoothDiscovery();
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
setDevicePairingConfirmation(device: string, accept: boolean): void
設(shè)置設(shè)備配對(duì)請(qǐng)求確認(rèn)。
需要權(quán)限:ohos.permission.MANAGE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
device | string | 是 | 表示遠(yuǎn)端設(shè)備地址,例如:"XX:XX:XX:XX:XX:XX"。 |
accept | boolean | 是 | 接受配對(duì)請(qǐng)求設(shè)置為true,否則設(shè)置為false。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900099 | Operation failed. |
示例:
- try {
- // 訂閱“pinRequired”配對(duì)請(qǐng)求事件,收到遠(yuǎn)端配對(duì)請(qǐng)求后設(shè)置配對(duì)確認(rèn)
- function onReceivePinRequiredEvent(data) { // data為配對(duì)請(qǐng)求的入?yún)ⅲ鋵?duì)請(qǐng)求參數(shù)
- console.info('pin required = '+ JSON.stringify(data));
- bluetoothManager.setDevicePairingConfirmation(data.deviceId, true);
- }
- bluetoothManager.on("pinRequired", onReceivePinRequiredEvent);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
on(type: "bluetoothDeviceFind", callback: Callback<Array<string>>): void
訂閱藍(lán)牙設(shè)備發(fā)現(xiàn)上報(bào)事件。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"bluetoothDeviceFind"字符串,表示藍(lán)牙設(shè)備發(fā)現(xiàn)事件。 |
callback | Callback<Array<string>> | 是 | 表示回調(diào)函數(shù)的入?yún)?,發(fā)現(xiàn)的設(shè)備集合?;卣{(diào)函數(shù)由用戶創(chuàng)建通過(guò)該接口注冊(cè)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900099 | Operation failed. |
示例:
- function onReceiveEvent(data) { // data為藍(lán)牙設(shè)備地址集合
- console.info('bluetooth device find = '+ JSON.stringify(data));
- }
- try {
- bluetoothManager.on('bluetoothDeviceFind', onReceiveEvent);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
off(type: "bluetoothDeviceFind", callback?: Callback<Array<string>>): void
取消訂閱藍(lán)牙設(shè)備發(fā)現(xiàn)上報(bào)事件。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"bluetoothDeviceFind"字符串,表示藍(lán)牙設(shè)備發(fā)現(xiàn)事件。 |
callback | Callback<Array<string>> | 否 | 表示取消訂閱藍(lán)牙設(shè)備發(fā)現(xiàn)事件上報(bào)。不填該參數(shù)則取消訂閱該type對(duì)應(yīng)的所有回調(diào)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900099 | Operation failed. |
示例:
- function onReceiveEvent(data) {
- console.info('bluetooth device find = '+ JSON.stringify(data));
- }
- try {
- bluetoothManager.on('bluetoothDeviceFind', onReceiveEvent);
- bluetoothManager.off('bluetoothDeviceFind', onReceiveEvent);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
on(type: "pinRequired", callback: Callback<PinRequiredParam>): void
訂閱遠(yuǎn)端藍(lán)牙設(shè)備的配對(duì)請(qǐng)求事件。
需要權(quán)限:ohos.permission.DISCOVER_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"pinRequired"字符串,表示配對(duì)請(qǐng)求事件。 |
callback | Callback<PinRequiredParam> | 是 | 表示回調(diào)函數(shù)的入?yún)?,配?duì)請(qǐng)求?;卣{(diào)函數(shù)由用戶創(chuàng)建通過(guò)該接口注冊(cè)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900099 | Operation failed. |
示例:
- function onReceiveEvent(data) { // data為配對(duì)請(qǐng)求參數(shù)
- console.info('pin required = '+ JSON.stringify(data));
- }
- try {
- bluetoothManager.on('pinRequired', onReceiveEvent);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
off(type: "pinRequired", callback?: Callback<PinRequiredParam>): void
取消訂閱遠(yuǎn)端藍(lán)牙設(shè)備的配對(duì)請(qǐng)求事件。
需要權(quán)限:ohos.permission.DISCOVER_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"pinRequired"字符串,表示配對(duì)請(qǐng)求事件。 |
callback | Callback<PinRequiredParam> | 否 | 表示取消訂閱藍(lán)牙配對(duì)請(qǐng)求事件上報(bào),入?yún)榕鋵?duì)請(qǐng)求參數(shù)。不填該參數(shù)則取消訂閱該type對(duì)應(yīng)的所有回調(diào)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900099 | Operation failed. |
示例:
- function onReceiveEvent(data) {
- console.info('pin required = '+ JSON.stringify(data));
- }
- try {
- bluetoothManager.on('pinRequired', onReceiveEvent);
- bluetoothManager.off('pinRequired', onReceiveEvent);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
on(type: "bondStateChange", callback: Callback<BondStateParam>): void
訂閱藍(lán)牙配對(duì)狀態(tài)改變事件。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"bondStateChange"字符串,表示藍(lán)牙配對(duì)狀態(tài)改變事件。 |
callback | Callback<BondStateParam> | 是 | 表示回調(diào)函數(shù)的入?yún)?,配?duì)的狀態(tài)?;卣{(diào)函數(shù)由用戶創(chuàng)建通過(guò)該接口注冊(cè)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900099 | Operation failed. |
示例:
- function onReceiveEvent(data) { // data為回調(diào)函數(shù)入?yún)?,表示配?duì)的狀態(tài)
- console.info('pair state = '+ JSON.stringify(data));
- }
- try {
- bluetoothManager.on('bondStateChange', onReceiveEvent);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
off(type: "bondStateChange", callback?: Callback<BondStateParam>): void
取消訂閱藍(lán)牙配對(duì)狀態(tài)改變事件。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"bondStateChange"字符串,表示藍(lán)牙配對(duì)狀態(tài)改變事件。 |
callback | Callback<BondStateParam> | 否 | 表示取消訂閱藍(lán)牙配對(duì)狀態(tài)改變事件上報(bào)。不填該參數(shù)則取消訂閱該type對(duì)應(yīng)的所有回調(diào)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900099 | Operation failed. |
示例:
- function onReceiveEvent(data) {
- console.info('bond state = '+ JSON.stringify(data));
- }
- try {
- bluetoothManager.on('bondStateChange', onReceiveEvent);
- bluetoothManager.off('bondStateChange', onReceiveEvent);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
on(type: "stateChange", callback: Callback<BluetoothState>): void
訂閱藍(lán)牙連接狀態(tài)改變事件。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"stateChange"字符串,表示藍(lán)牙狀態(tài)改變事件。 |
callback | Callback<BluetoothState> | 是 | 表示回調(diào)函數(shù)的入?yún)ⅲ{(lán)牙狀態(tài)。回調(diào)函數(shù)由用戶創(chuàng)建通過(guò)該接口注冊(cè)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900099 | Operation failed. |
示例:
- function onReceiveEvent(data) {
- console.info('bluetooth state = '+ JSON.stringify(data));
- }
- try {
- bluetoothManager.on('stateChange', onReceiveEvent);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
off(type: "stateChange", callback?: Callback<BluetoothState>): void
取消訂閱藍(lán)牙連接狀態(tài)改變事件。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"stateChange"字符串,表示藍(lán)牙狀態(tài)改變事件。 |
callback | Callback<BluetoothState> | 否 | 表示取消訂閱藍(lán)牙狀態(tài)改變事件上報(bào)。不填該參數(shù)則取消訂閱該type對(duì)應(yīng)的所有回調(diào)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900099 | Operation failed. |
示例:
- function onReceiveEvent(data) {
- console.info('bluetooth state = '+ JSON.stringify(data));
- }
- try {
- bluetoothManager.on('stateChange', onReceiveEvent);
- bluetoothManager.off('stateChange', onReceiveEvent);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
sppListen(name: string, option: SppOption, callback: AsyncCallback<number>): void
創(chuàng)建一個(gè)服務(wù)端監(jiān)聽(tīng)Socket。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 服務(wù)的名稱。 |
option | 是 | spp監(jiān)聽(tīng)配置參數(shù)。 | |
callback | AsyncCallback<number> | 是 | 表示回調(diào)函數(shù)的入?yún)?,服?wù)端Socket的id。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900004 | Profile is not supported. |
2900099 | Operation failed. |
示例:
- let serverNumber = -1;
- function serverSocket(code, number) {
- console.log('bluetooth error code: ' + code.code);
- if (code.code == 0) {
- console.log('bluetooth serverSocket Number: ' + number);
- serverNumber = number;
- }
- }
- let sppOption = {uuid: '00001810-0000-1000-8000-00805F9B34FB', secure: false, type: 0};
- try {
- bluetoothManager.sppListen('server1', sppOption, serverSocket);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
sppAccept(serverSocket: number, callback: AsyncCallback<number>): void
服務(wù)端監(jiān)聽(tīng)socket等待客戶端連接。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
serverSocket | number | 是 | 服務(wù)端socket的id。 |
callback | AsyncCallback<number> | 是 | 表示回調(diào)函數(shù)的入?yún)?,客戶端socket的id。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900004 | Profile is not supported. |
2900099 | Operation failed. |
示例:
- let serverNumber = -1;
- function serverSocket(code, number) {
- console.log('bluetooth error code: ' + code.code);
- if (code.code == 0) {
- console.log('bluetooth serverSocket Number: ' + number);
- serverNumber = number;
- }
- }
- let clientNumber = -1;
- function acceptClientSocket(code, number) {
- console.log('bluetooth error code: ' + code.code);
- if (code.code == 0) {
- console.log('bluetooth clientSocket Number: ' + number);
- // 獲取的clientNumber用作服務(wù)端后續(xù)讀/寫(xiě)操作socket的id。
- clientNumber = number;
- }
- }
- try {
- bluetoothManager.sppAccept(serverNumber, acceptClientSocket);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
sppConnect(device: string, option: SppOption, callback: AsyncCallback<number>): void
客戶端向遠(yuǎn)端設(shè)備發(fā)起spp連接。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
device | string | 是 | 對(duì)端設(shè)備地址,例如:"XX:XX:XX:XX:XX:XX"。 |
option | 是 | spp客戶端連接配置參數(shù)。 | |
callback | AsyncCallback<number> | 是 | 表示回調(diào)函數(shù)的入?yún)ⅲ蛻舳藄ocket的id。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900004 | Profile is not supported. |
2900099 | Operation failed. |
示例:
- let clientNumber = -1;
- function clientSocket(code, number) {
- if (code.code != 0) {
- return;
- }
- console.log('bluetooth serverSocket Number: ' + number);
- // 獲取的clientNumber用作客戶端后續(xù)讀/寫(xiě)操作socket的id。
- clientNumber = number;
- }
- let sppOption = {uuid: '00001810-0000-1000-8000-00805F9B34FB', secure: false, type: 0};
- try {
- bluetoothManager.sppConnect('XX:XX:XX:XX:XX:XX', sppOption, clientSocket);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
sppCloseServerSocket(socket: number): void
關(guān)閉服務(wù)端監(jiān)聽(tīng)Socket,入?yún)ocket由sppListen接口返回。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
socket | number | 是 | 服務(wù)端監(jiān)聽(tīng)socket的id。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900099 | Operation failed. |
示例:
- let serverNumber = -1;
- function serverSocket(code, number) {
- console.log('bluetooth error code: ' + code.code);
- if (code.code == 0) {
- console.log('bluetooth serverSocket Number: ' + number);
- serverNumber = number;
- }
- }
- try {
- bluetoothManager.sppCloseServerSocket(serverNumber);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
sppCloseClientSocket(socket: number): void
關(guān)閉客戶端socket,入?yún)ocket由sppAccept或sppConnect接口獲取。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
socket | number | 是 | 客戶端socket的id。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900099 | Operation failed. |
示例:
- let clientNumber = -1;
- function clientSocket(code, number) {
- if (code.code != 0) {
- return;
- }
- console.log('bluetooth serverSocket Number: ' + number);
- // 獲取的clientNumber用作客戶端后續(xù)讀/寫(xiě)操作socket的id。
- clientNumber = number;
- }
- try {
- bluetoothManager.sppCloseClientSocket(clientNumber);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
sppWrite(clientSocket: number, data: ArrayBuffer): void
通過(guò)socket向遠(yuǎn)端發(fā)送數(shù)據(jù),入?yún)lientSocket由sppAccept或sppConnect接口獲取 。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
clientSocket | number | 是 | 客戶端socket的id。 |
data | ArrayBuffer | 是 | 寫(xiě)入的數(shù)據(jù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2901054 | IO error. |
2900099 | Operation failed. |
示例:
- let clientNumber = -1;
- function clientSocket(code, number) {
- if (code.code != 0) {
- return;
- }
- console.log('bluetooth serverSocket Number: ' + number);
- // 獲取的clientNumber用作客戶端后續(xù)讀/寫(xiě)操作socket的id。
- clientNumber = number;
- }
- let arrayBuffer = new ArrayBuffer(8);
- let data = new Uint8Array(arrayBuffer);
- data[0] = 123;
- try {
- bluetoothManager.sppWrite(clientNumber, arrayBuffer);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
on(type: "sppRead", clientSocket: number, callback: Callback<ArrayBuffer>): void
訂閱spp讀請(qǐng)求事件,入?yún)lientSocket由sppAccept或sppConnect接口獲取。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"sppRead"字符串,表示spp讀請(qǐng)求事件。 |
clientSocket | number | 是 | 客戶端socket的id。 |
callback | Callback<ArrayBuffer> | 是 | 表示回調(diào)函數(shù)的入?yún)?,讀取到的數(shù)據(jù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2901054 | IO error. |
2900099 | Operation failed. |
示例:
- let clientNumber = -1;
- function clientSocket(code, number) {
- if (code.code != 0) {
- return;
- }
- console.log('bluetooth serverSocket Number: ' + number);
- // 獲取的clientNumber用作客戶端后續(xù)讀/寫(xiě)操作socket的id。
- clientNumber = number;
- }
- function dataRead(dataBuffer) {
- let data = new Uint8Array(dataBuffer);
- console.log('bluetooth data is: ' + data[0]);
- }
- try {
- bluetoothManager.on('sppRead', clientNumber, dataRead);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
off(type: "sppRead", clientSocket: number, callback?: Callback<ArrayBuffer>): void
取消訂閱spp讀請(qǐng)求事件,入?yún)lientSocket由sppAccept或sppConnect接口獲取。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"sppRead"字符串,表示spp讀請(qǐng)求事件。 |
clientSocket | number | 是 | 客戶端Socket的id。 |
callback | Callback<ArrayBuffer> | 否 | 表示取消訂閱spp讀請(qǐng)求事件上報(bào)。不填該參數(shù)則取消訂閱該type對(duì)應(yīng)的所有回調(diào)。 |
示例:
- let clientNumber = -1;
- function clientSocket(code, number) {
- if (code.code != 0) {
- return;
- }
- console.log('bluetooth serverSocket Number: ' + number);
- // 獲取的clientNumber用作客戶端后續(xù)讀/寫(xiě)操作socket的id。
- clientNumber = number;
- }
- try {
- bluetoothManager.off('sppRead', clientNumber);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
getProfileInstance(profileId: ProfileId): A2dpSourceProfile | HandsFreeAudioGatewayProfile | HidHostProfile | PanProfile
通過(guò)ProfileId,獲取profile的對(duì)象實(shí)例,API9新增了HidHostProfile,PanProfile。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
profileId | 是 | 表示profile的枚舉值,例如:PROFILE_A2DP_SOURCE。 |
返回值:
類型 | 說(shuō)明 |
---|---|
A2dpSourceProfile或 HandsFreeAudioGatewayProfile或HidHostProfile或PanProfile | 對(duì)應(yīng)的profile的對(duì)象實(shí)例,當(dāng)前支持A2dpSourceProfile/HandsFreeAudioGatewayProfile/HidHostProfile/PanProfile。 |
示例:
- try {
- let hidHost = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_HID_HOST);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
createGattServer(): GattServer
創(chuàng)建一個(gè)可使用的GattServer實(shí)例。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
返回值:
類型 | 說(shuō)明 |
---|---|
server端類,使用server端方法之前需要?jiǎng)?chuàng)建該類的實(shí)例進(jìn)行操作。 |
示例:
- let gattServer = bluetoothManager.BLE.createGattServer();
createGattClientDevice(deviceId: string): GattClientDevice
創(chuàng)建一個(gè)可使用的GattClientDevice實(shí)例。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
deviceId | string | 是 | 對(duì)端設(shè)備地址, 例如:"XX:XX:XX:XX:XX:XX"。 |
返回值:
類型 | 說(shuō)明 |
---|---|
client端類,使用client端方法之前需要?jiǎng)?chuàng)建該類的實(shí)例進(jìn)行操作。 |
示例:
- try {
- let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
getConnectedBLEDevices(): Array<string>
獲取和當(dāng)前設(shè)備連接的BLE設(shè)備。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
返回值:
類型 | 說(shuō)明 |
---|---|
Array<string> | 返回當(dāng)前設(shè)備作為Server端時(shí)連接BLE設(shè)備地址集合。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900099 | Operation failed. |
示例:
- try {
- let result = bluetoothManager.BLE.getConnectedBLEDevices();
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
startBLEScan(filters: Array<ScanFilter>, options?: ScanOptions): void
發(fā)起B(yǎng)LE掃描流程。
需要權(quán)限:ohos.permission.DISCOVER_BLUETOOTH 和 ohos.permission.MANAGE_BLUETOOTH 和 ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
filters | Array<ScanFilter> | 是 | 表示掃描結(jié)果過(guò)濾策略集合,如果不使用過(guò)濾的方式,該參數(shù)設(shè)置為null。 |
options | 否 | 表示掃描的參數(shù)配置,可選參數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900099 | Operation failed. |
示例:
- function onReceiveEvent(data) {
- console.info('BLE scan device find result = '+ JSON.stringify(data));
- }
- try {
- bluetoothManager.BLE.on("BLEDeviceFind", onReceiveEvent);
- bluetoothManager.BLE.startBLEScan(
- [{
- deviceId:"XX:XX:XX:XX:XX:XX",
- name:"test",
- serviceUuid:"00001888-0000-1000-8000-00805f9b34fb"
- }],
- {
- interval: 500,
- dutyMode: bluetoothManager.ScanDuty.SCAN_MODE_LOW_POWER,
- matchMode: bluetoothManager.MatchMode.MATCH_MODE_AGGRESSIVE,
- }
- );
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
stopBLEScan(): void
停止BLE掃描流程。
需要權(quán)限:ohos.permission.DISCOVER_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900099 | Operation failed. |
示例:
- try {
- bluetoothManager.BLE.stopBLEScan();
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
on(type: "BLEDeviceFind", callback: Callback<Array<ScanResult>>): void
訂閱BLE設(shè)備發(fā)現(xiàn)上報(bào)事件。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"BLEDeviceFind"字符串,表示BLE設(shè)備發(fā)現(xiàn)事件。 |
callback | Callback<Array<ScanResult>> | 是 | 表示回調(diào)函數(shù)的入?yún)?,發(fā)現(xiàn)的設(shè)備集合。回調(diào)函數(shù)由用戶創(chuàng)建通過(guò)該接口注冊(cè)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900099 | Operation failed. |
示例:
- function onReceiveEvent(data) {
- console.info('bluetooth device find = '+ JSON.stringify(data));
- }
- try {
- bluetoothManager.BLE.on('BLEDeviceFind', onReceiveEvent);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
off(type: "BLEDeviceFind", callback?: Callback<Array<ScanResult>>): void
取消訂閱BLE設(shè)備發(fā)現(xiàn)上報(bào)事件。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"BLEDeviceFind"字符串,表示BLE設(shè)備發(fā)現(xiàn)事件。 |
callback | Callback<Array<ScanResult>> | 否 | 表示取消訂閱BLE設(shè)備發(fā)現(xiàn)事件上報(bào)。不填該參數(shù)則取消訂閱該type對(duì)應(yīng)的所有回調(diào)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900099 | Operation failed. |
示例:
- function onReceiveEvent(data) {
- console.info('bluetooth device find = '+ JSON.stringify(data));
- }
- try {
- bluetoothManager.BLE.on('BLEDeviceFind', onReceiveEvent);
- bluetoothManager.BLE.off('BLEDeviceFind', onReceiveEvent);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
getConnectionDevices(): Array<string>
獲取已連接設(shè)備列表。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
返回值:
類型 | 說(shuō)明 |
---|---|
Array<string> | 返回已連接設(shè)備的地址列表。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900004 | Profile is not supported. |
2900099 | Operation failed. |
示例:
- try {
- let a2dpSrc = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_A2DP_SOURCE) as bluetoothManager.A2dpSourceProfile;
- let retArray = a2dpSrc.getConnectionDevices();
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
getDeviceState(device: string): ProfileConnectionState
獲取設(shè)備profile的連接狀態(tài)。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
device | string | 是 | 遠(yuǎn)端設(shè)備地址。 |
返回值:
類型 | 說(shuō)明 |
---|---|
返回profile的連接狀態(tài)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900004 | Profile is not supported. |
2900099 | Operation failed. |
示例:
- try {
- let a2dpSrc = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_A2DP_SOURCE) as bluetoothManager.A2dpSourceProfile;
- let ret = a2dpSrc.getDeviceState('XX:XX:XX:XX:XX:XX');
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
使用A2dpSourceProfile方法之前需要?jiǎng)?chuàng)建該類的實(shí)例進(jìn)行操作,通過(guò)getProfile()方法構(gòu)造此實(shí)例。
connect(device: string): void
發(fā)起設(shè)備的A2dp服務(wù)連接請(qǐng)求。
需要權(quán)限:ohos.permission.DISCOVER_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
device | string | 是 | 遠(yuǎn)端設(shè)備地址。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900004 | Profile is not supported. |
2900099 | Operation failed. |
示例:
- try {
- let a2dpSrc = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_A2DP_SOURCE) as bluetoothManager.A2dpSourceProfile;
- a2dpSrc.connect('XX:XX:XX:XX:XX:XX');
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
disconnect(device: string): void
斷開(kāi)設(shè)備的a2dp服務(wù)連接。
需要權(quán)限:ohos.permission.DISCOVER_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
device | string | 是 | 遠(yuǎn)端設(shè)備地址。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900004 | Profile is not supported. |
2900099 | Operation failed. |
示例:
- try {
- let a2dpSrc = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_A2DP_SOURCE) as bluetoothManager.A2dpSourceProfile;
- a2dpSrc.disconnect('XX:XX:XX:XX:XX:XX');
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
on(type: "connectionStateChange", callback: Callback<StateChangeParam>): void
訂閱a2dp連接狀態(tài)變化事件。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"connectionStateChange"字符串,表示連接狀態(tài)變化事件。 |
callback | Callback<StateChangeParam> | 是 | 表示回調(diào)函數(shù)的入?yún)ⅰ?/p> |
返回值:
無(wú)
示例:
- function onReceiveEvent(data) {
- console.info('a2dp state = '+ JSON.stringify(data));
- }
- let a2dpSrc = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_A2DP_SOURCE) as bluetoothManager.A2dpSourceProfile;
- a2dpSrc.on('connectionStateChange', onReceiveEvent);
off(type: "connectionStateChange", callback?: Callback<StateChangeParam>): void
取消訂閱a2dp連接狀態(tài)變化事件。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"connectionStateChange"字符串,表示連接狀態(tài)變化事件。 |
callback | Callback<StateChangeParam> | 否 | 表示回調(diào)函數(shù)的入?yún)ⅰ?/p> |
返回值:
無(wú)
示例:
- function onReceiveEvent(data) {
- console.info('a2dp state = '+ JSON.stringify(data));
- }
- let a2dpSrc = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_A2DP_SOURCE) as bluetoothManager.A2dpSourceProfile;
- a2dpSrc.on('connectionStateChange', onReceiveEvent);
- a2dpSrc.off('connectionStateChange', onReceiveEvent);
getPlayingState(device: string): PlayingState
獲取設(shè)備的播放狀態(tài)。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
device | string | 是 | 遠(yuǎn)端設(shè)備地址。 |
返回值:
類型 | 說(shuō)明 |
---|---|
遠(yuǎn)端設(shè)備的播放狀態(tài)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900004 | Profile is not supported. |
2900099 | Operation failed. |
示例:
- try {
- let a2dpSrc = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_A2DP_SOURCE) as bluetoothManager.A2dpSourceProfile;
- let state = a2dpSrc.getPlayingState('XX:XX:XX:XX:XX:XX');
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
使用HandsFreeAudioGatewayProfile方法之前需要?jiǎng)?chuàng)建該類的實(shí)例進(jìn)行操作,通過(guò)getProfile()方法構(gòu)造此實(shí)例。
connect(device: string): void
連接設(shè)備的HFP服務(wù)。
需要權(quán)限:ohos.permission.DISCOVER_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
device | string | 是 | 遠(yuǎn)端設(shè)備地址。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900004 | Profile is not supported. |
2900099 | Operation failed. |
示例:
- try {
- let hfpAg = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_HANDS_FREE_AUDIO_GATEWAY) as bluetoothManager.HandsFreeAudioGatewayProfile;
- hfpAg.connect('XX:XX:XX:XX:XX:XX');
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
disconnect(device: string): void
斷開(kāi)連接設(shè)備的HFP服務(wù)。
需要權(quán)限:ohos.permission.DISCOVER_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
device | string | 是 | 遠(yuǎn)端設(shè)備地址。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900004 | Profile is not supported. |
2900099 | Operation failed. |
示例:
- try {
- let hfpAg = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_HANDS_FREE_AUDIO_GATEWAY) as bluetoothManager.HandsFreeAudioGatewayProfile;
- hfpAg.disconnect('XX:XX:XX:XX:XX:XX');
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
on(type: "connectionStateChange", callback: Callback<StateChangeParam>): void
訂閱HFP連接狀態(tài)變化事件。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"connectionStateChange"字符串,表示連接狀態(tài)變化事件。 |
callback | Callback<StateChangeParam> | 是 | 表示回調(diào)函數(shù)的入?yún)ⅰ?/p> |
示例:
- function onReceiveEvent(data) {
- console.info('hfp state = '+ JSON.stringify(data));
- }
- let hfpAg = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_HANDS_FREE_AUDIO_GATEWAY) as
- bluetoothManager.HandsFreeAudioGatewayProfile;
- hfpAg.on('connectionStateChange', onReceiveEvent);
off(type: "connectionStateChange", callback?: Callback<StateChangeParam>): void
取消訂閱HFP連接狀態(tài)變化事件。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"connectionStateChange"字符串,表示連接狀態(tài)變化事件。 |
callback | Callback<StateChangeParam> | 否 | 表示回調(diào)函數(shù)的入?yún)ⅰ?/p> |
示例:
- function onReceiveEvent(data) {
- console.info('hfp state = '+ JSON.stringify(data));
- }
- let hfpAg = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_HANDS_FREE_AUDIO_GATEWAY) as
- bluetoothManager.HandsFreeAudioGatewayProfile;
- hfpAg.on('connectionStateChange', onReceiveEvent);
- hfpAg.off('connectionStateChange', onReceiveEvent);
使用HidHostProfile方法之前需要?jiǎng)?chuàng)建該類的實(shí)例進(jìn)行操作,通過(guò)getProfile()方法構(gòu)造此實(shí)例。
on(type: "connectionStateChange", callback: Callback<StateChangeParam>): void
訂閱HidHost連接狀態(tài)變化事件。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"connectionStateChange"字符串,表示連接狀態(tài)變化事件。 |
callback | Callback<StateChangeParam> | 是 | 表示回調(diào)函數(shù)的入?yún)ⅰ?/p> |
示例:
- function onReceiveEvent(data) {
- console.info('hidHost state = '+ JSON.stringify(data));
- }
- let hidHost = bluetoothManager.getProfileInst(bluetoothManager.ProfileId.PROFILE_HID_HOST) as bluetoothManager.HidHostProfile;
- hidHost.on('connectionStateChange', onReceiveEvent);
off(type: "connectionStateChange", callback?: Callback<StateChangeParam>): void
取消訂閱HidHost連接狀態(tài)變化事件。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"connectionStateChange"字符串,表示連接狀態(tài)變化事件。 |
callback | Callback<StateChangeParam> | 否 | 表示回調(diào)函數(shù)的入?yún)ⅰ?/p> |
示例:
- function onReceiveEvent(data) {
- console.info('hidHost state = '+ JSON.stringify(data));
- }
- let hidHost = bluetoothManager.getProfileInst(bluetoothManager.ProfileId.PROFILE_HID_HOST) as bluetoothManager.HidHostProfile;
- hidHost.on('connectionStateChange', onReceiveEvent);
- hidHost.off('connectionStateChange', onReceiveEvent);
使用PanProfile方法之前需要?jiǎng)?chuàng)建該類的實(shí)例進(jìn)行操作,通過(guò)getProfile()方法構(gòu)造此實(shí)例。
on(type: "connectionStateChange", callback: Callback<StateChangeParam>): void
訂閱Pan連接狀態(tài)變化事件。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"connectionStateChange"字符串,表示連接狀態(tài)變化事件。 |
callback | Callback<StateChangeParam> | 是 | 表示回調(diào)函數(shù)的入?yún)ⅰ?/p> |
示例:
- function onReceiveEvent(data) {
- console.info('pan state = '+ JSON.stringify(data));
- }
- let panProfile = bluetoothManager.getProfileInst(bluetoothManager.ProfileId.PROFILE_PAN_NETWORK) as bluetoothManager.PanProfile;
- panProfile.on('connectionStateChange', onReceiveEvent);
off(type: "connectionStateChange", callback?: Callback<StateChangeParam>): void
取消訂閱Pan連接狀態(tài)變化事件。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"connectionStateChange"字符串,表示連接狀態(tài)變化事件。 |
callback | Callback<StateChangeParam> | 否 | 表示回調(diào)函數(shù)的入?yún)ⅰ?/p> |
示例:
- function onReceiveEvent(data) {
- console.info('pan state = '+ JSON.stringify(data));
- }
- let panProfile = bluetoothManager.getProfileInst(bluetoothManager.ProfileId.PROFILE_PAN_NETWORK) as bluetoothManager.PanProfile;
- panProfile.on('connectionStateChange', onReceiveEvent);
- panProfile.off('connectionStateChange', onReceiveEvent);
server端類,使用server端方法之前需要?jiǎng)?chuàng)建該類的實(shí)例進(jìn)行操作,通過(guò)createGattServer()方法構(gòu)造此實(shí)例。
startAdvertising(setting: AdvertiseSetting, advData: AdvertiseData, advResponse?: AdvertiseData): void
開(kāi)始發(fā)送BLE廣播。
需要權(quán)限:ohos.permission.DISCOVER_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
setting | 是 | BLE廣播的相關(guān)參數(shù)。 | |
advData | 是 | BLE廣播包內(nèi)容。 | |
advResponse | 否 | BLE回復(fù)掃描請(qǐng)求回復(fù)響應(yīng)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900099 | Operation failed. |
示例:
- let manufactureValueBuffer = new Uint8Array(4);
- manufactureValueBuffer[0] = 1;
- manufactureValueBuffer[1] = 2;
- manufactureValueBuffer[2] = 3;
- manufactureValueBuffer[3] = 4;
- let serviceValueBuffer = new Uint8Array(4);
- serviceValueBuffer[0] = 4;
- serviceValueBuffer[1] = 6;
- serviceValueBuffer[2] = 7;
- serviceValueBuffer[3] = 8;
- console.info('manufactureValueBuffer = '+ JSON.stringify(manufactureValueBuffer));
- console.info('serviceValueBuffer = '+ JSON.stringify(serviceValueBuffer));
- let gattServer = bluetoothManager.BLE.createGattServer();
- try {
- gattServer.startAdvertising({
- interval:150,
- txPower:60,
- connectable:true,
- },{
- serviceUuids:["00001888-0000-1000-8000-00805f9b34fb"],
- manufactureData:[{
- manufactureId:4567,
- manufactureValue:manufactureValueBuffer.buffer
- }],
- serviceData:[{
- serviceUuid:"00001888-0000-1000-8000-00805f9b34fb",
- serviceValue:serviceValueBuffer.buffer
- }],
- },{
- serviceUuids:["00001889-0000-1000-8000-00805f9b34fb"],
- manufactureData:[{
- manufactureId:1789,
- manufactureValue:manufactureValueBuffer.buffer
- }],
- serviceData:[{
- serviceUuid:"00001889-0000-1000-8000-00805f9b34fb",
- serviceValue:serviceValueBuffer.buffer
- }],
- });
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
stopAdvertising(): void
停止發(fā)送BLE廣播。
需要權(quán)限:ohos.permission.DISCOVER_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900099 | Operation failed. |
示例:
- let server = bluetoothManager.BLE.createGattServer();
- try {
- server.stopAdvertising();
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
addService(service: GattService): void
server端添加服務(wù)。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
service | 是 | 服務(wù)端的service數(shù)據(jù)。BLE廣播的相關(guān)參數(shù) |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900099 | Operation failed. |
示例:
- // 創(chuàng)建descriptors
- let descriptors = [];
- let arrayBuffer = new ArrayBuffer(8);
- let descV = new Uint8Array(arrayBuffer);
- descV[0] = 11;
- let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
- characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
- descriptorUuid: '00002902-0000-1000-8000-00805F9B34FB', descriptorValue: arrayBuffer};
- descriptors[0] = descriptor;
- // 創(chuàng)建characteristics
- let characteristics = [];
- let arrayBufferC = new ArrayBuffer(8);
- let cccV = new Uint8Array(arrayBufferC);
- cccV[0] = 1;
- let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
- characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', characteristicValue: arrayBufferC, descriptors:descriptors};
- let characteristicN = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
- characteristicUuid: '00001821-0000-1000-8000-00805F9B34FB', characteristicValue: arrayBufferC, descriptors:descriptors};
- characteristics[0] = characteristic;
- // 創(chuàng)建gattService
- let gattService = {serviceUuid:'00001810-0000-1000-8000-00805F9B34FB', isPrimary: true, characteristics:characteristics, includeServices:[]};
- let gattServer = bluetoothManager.BLE.createGattServer();
- try {
- gattServer.addService(gattService);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
removeService(serviceUuid: string): void
刪除已添加的服務(wù)。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
serviceUuid | string | 是 | service的UUID,例如“00001810-0000-1000-8000-00805F9B34FB”。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900004 | Profile is not supported. |
2900099 | Operation failed. |
示例:
- let server = bluetoothManager.BLE.createGattServer();
- try {
- server.removeService('00001810-0000-1000-8000-00805F9B34FB');
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
close(): void
關(guān)閉服務(wù)端功能,去注冊(cè)server在協(xié)議棧的注冊(cè),調(diào)用該接口后GattServer實(shí)例將不能再使用。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900099 | Operation failed. |
示例:
- let server = bluetoothManager.BLE.createGattServer();
- try {
- server.close();
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
notifyCharacteristicChanged(deviceId: string, notifyCharacteristic: NotifyCharacteristic): void
server端特征值發(fā)生變化時(shí),主動(dòng)通知已連接的client設(shè)備。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
deviceId | string | 是 | 接收通知的client端設(shè)備地址,例如“XX:XX:XX:XX:XX:XX”。 |
notifyCharacteristic | 是 | 通知的特征值數(shù)據(jù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900099 | Operation failed. |
示例:
- // 創(chuàng)建descriptors
- let descriptors = [];
- let arrayBuffer = new ArrayBuffer(8);
- let descV = new Uint8Array(arrayBuffer);
- descV[0] = 11;
- let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
- characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
- descriptorUuid: '00002902-0000-1000-8000-00805F9B34FB', descriptorValue: arrayBuffer};
- descriptors[0] = descriptor;
- let arrayBufferC = new ArrayBuffer(8);
- let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
- characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', characteristicValue: arrayBufferC, descriptors:descriptors};
- let notifyCharacteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
- characteristicUuid: '00001821-0000-1000-8000-00805F9B34FB', characteristicValue: characteristic.characteristicValue, confirm: false};
- let server = bluetoothManager.BLE.createGattServer();
- try {
- server.notifyCharacteristicChanged('XX:XX:XX:XX:XX:XX', notifyCharacteristic);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
sendResponse(serverResponse: ServerResponse): void
server端回復(fù)client端的讀寫(xiě)請(qǐng)求。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
serverResponse | 是 | server端回復(fù)的響應(yīng)數(shù)據(jù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900099 | Operation failed. |
示例:
- /* send response */
- let arrayBufferCCC = new ArrayBuffer(8);
- let cccValue = new Uint8Array(arrayBufferCCC);
- cccValue[0] = 1123;
- let serverResponse = {
- "deviceId": "XX:XX:XX:XX:XX:XX",
- "transId": 0,
- "status": 0,
- "offset": 0,
- "value": arrayBufferCCC,
- };
- let gattServer = bluetoothManager.BLE.createGattServer();
- try {
- gattServer.sendResponse(serverResponse);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
on(type: "characteristicRead", callback: Callback<CharacteristicReadRequest>): void
server端訂閱特征值讀請(qǐng)求事件。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"characteristicRead"字符串,表示特征值讀請(qǐng)求事件。 |
callback | Callback<CharacteristicReadRequest> | 是 | 表示回調(diào)函數(shù)的入?yún)?,client端發(fā)送的讀請(qǐng)求數(shù)據(jù)。 |
示例:
- let arrayBufferCCC = new ArrayBuffer(8);
- let cccValue = new Uint8Array(arrayBufferCCC);
- cccValue[0] = 1123;
- function ReadCharacteristicReq(CharacteristicReadRequest) {
- let deviceId = CharacteristicReadRequest.deviceId;
- let transId = CharacteristicReadRequest.transId;
- let offset = CharacteristicReadRequest.offset;
- let characteristicUuid = CharacteristicReadRequest.characteristicUuid;
- let serverResponse = {deviceId: deviceId, transId: transId, status: 0, offset: offset, value:arrayBufferCCC};
- try {
- gattServer.sendResponse(serverResponse);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
- }
- let gattServer = bluetoothManager.BLE.createGattServer();
- gattServer.on("characteristicRead", ReadCharacteristicReq);
off(type: "characteristicRead", callback?: Callback<CharacteristicReadRequest>): void
server端取消訂閱特征值讀請(qǐng)求事件。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"characteristicRead"字符串,表示特征值讀請(qǐng)求事件。 |
callback | Callback<CharacteristicReadRequest> | 否 | 表示取消訂閱特征值讀請(qǐng)求事件上報(bào)。不填該參數(shù)則取消訂閱該type對(duì)應(yīng)的所有回調(diào)。 |
示例:
- let gattServer = bluetoothManager.BLE.createGattServer();
- gattServer.off("characteristicRead");
on(type: "characteristicWrite", callback: Callback<CharacteristicWriteRequest>): void
server端訂閱特征值寫(xiě)請(qǐng)求事件。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"characteristicWrite"字符串,表示特征值寫(xiě)請(qǐng)求事件。 |
callback | Callback<CharacteristicWriteRequest> | 是 | 表示回調(diào)函數(shù)的入?yún)?,client端發(fā)送的寫(xiě)請(qǐng)求數(shù)據(jù)。 |
示例:
- let arrayBufferCCC = new ArrayBuffer(8);
- let cccValue = new Uint8Array(arrayBufferCCC);
- function WriteCharacteristicReq(CharacteristicWriteRequest) {
- let deviceId = CharacteristicWriteRequest.deviceId;
- let transId = CharacteristicWriteRequest.transId;
- let offset = CharacteristicWriteRequest.offset;
- let isPrep = CharacteristicWriteRequest.isPrep;
- let needRsp = CharacteristicWriteRequest.needRsp;
- let value = new Uint8Array(CharacteristicWriteRequest.value);
- let characteristicUuid = CharacteristicWriteRequest.characteristicUuid;
- cccValue[0] = value[0];
- let serverResponse = {deviceId: deviceId, transId: transId, status: 0, offset: offset, value:arrayBufferCCC};
- try {
- gattServer.sendResponse(serverResponse);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
- }
- let gattServer = bluetoothManager.BLE.createGattServer();
- gattServer.on("characteristicWrite", WriteCharacteristicReq);
off(type: "characteristicWrite", callback?: Callback<CharacteristicWriteRequest>): void
server端取消訂閱特征值寫(xiě)請(qǐng)求事件。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"characteristicWrite"字符串,表示特征值寫(xiě)請(qǐng)求事件。 |
callback | Callback<CharacteristicWriteRequest> | 否 | 表示取消訂閱特征值寫(xiě)請(qǐng)求事件上報(bào)。不填該參數(shù)則取消訂閱該type對(duì)應(yīng)的所有回調(diào)。 |
示例:
- let gattServer = bluetoothManager.BLE.createGattServer();
- gattServer.off("characteristicWrite");
on(type: "descriptorRead", callback: Callback<DescriptorReadRequest>): void
server端訂閱描述符讀請(qǐng)求事件。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"descriptorRead"字符串,表示描述符讀請(qǐng)求事件。 |
callback | Callback<DescriptorReadRequest> | 是 | 表示回調(diào)函數(shù)的入?yún)?,client端發(fā)送的讀請(qǐng)求數(shù)據(jù)。 |
示例:
- let arrayBufferDesc = new ArrayBuffer(8);
- let descValue = new Uint8Array(arrayBufferDesc);
- descValue[0] = 1101;
- function ReadDescriptorReq(DescriptorReadRequest) {
- let deviceId = DescriptorReadRequest.deviceId;
- let transId = DescriptorReadRequest.transId;
- let offset = DescriptorReadRequest.offset;
- let descriptorUuid = DescriptorReadRequest.descriptorUuid;
- let serverResponse = {deviceId: deviceId, transId: transId, status: 0, offset: offset, value:arrayBufferDesc};
- try {
- gattServer.sendResponse(serverResponse);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
- }
- let gattServer = bluetoothManager.BLE.createGattServer();
- gattServer.on("descriptorRead", ReadDescriptorReq);
off(type: "descriptorRead", callback?: Callback<DescriptorReadRequest>): void
server端取消訂閱描述符讀請(qǐng)求事件。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"descriptorRead"字符串,表示描述符讀請(qǐng)求事件。 |
callback | Callback<DescriptorReadRequest> | 否 | 表示取消訂閱描述符讀請(qǐng)求事件上報(bào)。不填該參數(shù)則取消訂閱該type對(duì)應(yīng)的所有回調(diào)。 |
示例:
- let gattServer = bluetoothManager.BLE.createGattServer();
- gattServer.off("descriptorRead");
on(type: "descriptorWrite", callback: Callback<DescriptorWriteRequest>): void
server端訂閱描述符寫(xiě)請(qǐng)求事件。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"descriptorWrite"字符串,表示描述符寫(xiě)請(qǐng)求事件。 |
callback | Callback<DescriptorWriteRequest> | 是 | 表示回調(diào)函數(shù)的入?yún)?,client端發(fā)送的寫(xiě)請(qǐng)求數(shù)據(jù)。 |
示例:
- let arrayBufferDesc = new ArrayBuffer(8);
- let descValue = new Uint8Array(arrayBufferDesc);
- function WriteDescriptorReq(DescriptorWriteRequest) {
- let deviceId = DescriptorWriteRequest.deviceId;
- let transId = DescriptorWriteRequest.transId;
- let offset = DescriptorWriteRequest.offset;
- let isPrep = DescriptorWriteRequest.isPrep;
- let needRsp = DescriptorWriteRequest.needRsp;
- let value = new Uint8Array(DescriptorWriteRequest.value);
- let descriptorUuid = DescriptorWriteRequest.descriptorUuid;
- descValue[0] = value[0];
- let serverResponse = {deviceId: deviceId, transId: transId, status: 0, offset: offset, value:arrayBufferDesc};
- try {
- gattServer.sendResponse(serverResponse);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
- }
- let gattServer = bluetoothManager.BLE.createGattServer();
- gattServer.on("descriptorRead", WriteDescriptorReq);
off(type: "descriptorWrite", callback?: Callback<DescriptorWriteRequest>): void
server端取消訂閱描述符寫(xiě)請(qǐng)求事件。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"descriptorWrite"字符串,表示描述符寫(xiě)請(qǐng)求事件。 |
callback | Callback<DescriptorWriteRequest> | 否 | 表示取消訂閱描述符寫(xiě)請(qǐng)求事件上報(bào)。不填該參數(shù)則取消訂閱該type對(duì)應(yīng)的所有回調(diào)。 |
示例:
- let gattServer = bluetoothManager.BLE.createGattServer();
- gattServer.off("descriptorWrite");
on(type: "connectStateChange", callback: Callback<BLEConnectChangedState>): void
server端訂閱BLE連接狀態(tài)變化事件。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"connectStateChange"字符串,表示BLE連接狀態(tài)變化事件。 |
callback | Callback<BLEConnectChangedState> | 是 | 表示回調(diào)函數(shù)的入?yún)ⅲB接狀態(tài)。 |
示例:
- function Connected(BLEConnectChangedState) {
- let deviceId = BLEConnectChangedState.deviceId;
- let status = BLEConnectChangedState.state;
- }
- let gattServer = bluetoothManager.BLE.createGattServer();
- gattServer.on("connectStateChange", Connected);
off(type: "connectStateChange", callback?: Callback<BLEConnectChangedState>): void
server端取消訂閱BLE連接狀態(tài)變化事件。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"connectStateChange"字符串,表示BLE連接狀態(tài)變化事件。 |
callback | Callback<BLEConnectChangedState> | 否 | 表示取消訂閱BLE連接狀態(tài)變化事件。不填該參數(shù)則取消訂閱該type對(duì)應(yīng)的所有回調(diào)。 |
示例:
- let gattServer = bluetoothManager.BLE.createGattServer();
- gattServer.off("connectStateChange");
client端類,使用client端方法之前需要?jiǎng)?chuàng)建該類的實(shí)例進(jìn)行操作,通過(guò)createGattClientDevice(deviceId: string)方法構(gòu)造此實(shí)例。
connect(): void
client端發(fā)起連接遠(yuǎn)端藍(lán)牙低功耗設(shè)備。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900099 | Operation failed. |
示例:
- try {
- let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
- device.connect();
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
disconnect(): void
client端斷開(kāi)與遠(yuǎn)端藍(lán)牙低功耗設(shè)備的連接。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900099 | Operation failed. |
示例:
- try {
- let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
- device.disconnect();
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
close(): void
關(guān)閉客戶端功能,注銷client在協(xié)議棧的注冊(cè),調(diào)用該接口后GattClientDevice實(shí)例將不能再使用。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900003 | Bluetooth switch is off. |
2900099 | Operation failed. |
示例:
- try {
- let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
- device.close();
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
getServices(callback: AsyncCallback<Array<GattService>>): void
client端獲取藍(lán)牙低功耗設(shè)備的所有服務(wù),即服務(wù)發(fā)現(xiàn) 。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback<Array<GattService>> | 是 | client進(jìn)行服務(wù)發(fā)現(xiàn),通過(guò)注冊(cè)回調(diào)函數(shù)獲取。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900099 | Operation failed. |
示例:
- // callkback 模式
- function getServices(code, gattServices) {
- if (code.code == 0) {
- let services = gattServices;
- console.log('bluetooth code is ' + code.code);
- console.log("bluetooth services size is ", services.length);
- for (let i = 0; i < services.length; i++) {
- console.log('bluetooth serviceUuid is ' + services[i].serviceUuid);
- }
- }
- }
- try {
- let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
- device.connect();
- device.getServices(getServices);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
getServices(): Promise<Array<GattService>>
client端獲取藍(lán)牙低功耗設(shè)備的所有服務(wù),即服務(wù)發(fā)現(xiàn)。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
返回值:
類型 | 說(shuō)明 |
---|---|
Promise<Array<GattService>> | client進(jìn)行服務(wù)發(fā)現(xiàn),通過(guò)promise形式獲取。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900099 | Operation failed. |
示例:
- // Promise 模式
- try {
- let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
- device.connect();
- device.getServices().then(result => {
- console.info("getServices successfully:" + JSON.stringify(result));
- });
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
readCharacteristicValue(characteristic: BLECharacteristic, callback: AsyncCallback<BLECharacteristic>): void
client端讀取藍(lán)牙低功耗設(shè)備特定服務(wù)的特征值。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
characteristic | 是 | 待讀取的特征值。 | |
callback | AsyncCallback<BLECharacteristic> | 是 | client讀取特征值,通過(guò)注冊(cè)回調(diào)函數(shù)獲取。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2901000 | Read forbidden. |
2900099 | Operation failed. |
示例:
- function readCcc(code, BLECharacteristic) {
- if (code.code != 0) {
- return;
- }
- console.log('bluetooth characteristic uuid: ' + BLECharacteristic.characteristicUuid);
- let value = new Uint8Array(BLECharacteristic.characteristicValue);
- console.log('bluetooth characteristic value: ' + value[0] +','+ value[1]+','+ value[2]+','+ value[3]);
- }
- let descriptors = [];
- let bufferDesc = new ArrayBuffer(8);
- let descV = new Uint8Array(bufferDesc);
- descV[0] = 11;
- let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
- characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
- descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc};
- descriptors[0] = descriptor;
- let bufferCCC = new ArrayBuffer(8);
- let cccV = new Uint8Array(bufferCCC);
- cccV[0] = 1;
- let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
- characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
- characteristicValue: bufferCCC, descriptors:descriptors};
- try {
- let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
- device.readCharacteristicValue(characteristic, readCcc);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
readCharacteristicValue(characteristic: BLECharacteristic): Promise<BLECharacteristic>
client端讀取藍(lán)牙低功耗設(shè)備特定服務(wù)的特征值。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
characteristic | 是 | 待讀取的特征值。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise<BLECharacteristic> | client讀取特征值,通過(guò)promise形式獲取。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2901000 | Read forbidden. |
2900099 | Operation failed. |
示例:
- let descriptors = [];
- let bufferDesc = new ArrayBuffer(8);
- let descV = new Uint8Array(bufferDesc);
- descV[0] = 11;
- let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
- characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
- descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc};
- descriptors[0] = descriptor;
- let bufferCCC = new ArrayBuffer(8);
- let cccV = new Uint8Array(bufferCCC);
- cccV[0] = 1;
- let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
- characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
- characteristicValue: bufferCCC, descriptors:descriptors};
- try {
- let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
- device.readCharacteristicValue(characteristic);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
readDescriptorValue(descriptor: BLEDescriptor, callback: AsyncCallback<BLEDescriptor>): void
client端讀取藍(lán)牙低功耗設(shè)備特定的特征包含的描述符。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
descriptor | 是 | 待讀取的描述符。 | |
callback | AsyncCallback<BLEDescriptor> | 是 | client讀取描述符,通過(guò)注冊(cè)回調(diào)函數(shù)獲取。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2901000 | Read forbidden. |
2900099 | Operation failed. |
示例:
- function readDesc(code, BLEDescriptor) {
- if (code.code != 0) {
- return;
- }
- console.log('bluetooth descriptor uuid: ' + BLEDescriptor.descriptorUuid);
- let value = new Uint8Array(BLEDescriptor.descriptorValue);
- console.log('bluetooth descriptor value: ' + value[0] +','+ value[1]+','+ value[2]+','+ value[3]);
- }
- let bufferDesc = new ArrayBuffer(8);
- let descV = new Uint8Array(bufferDesc);
- descV[0] = 11;
- let descriptor = {
- serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
- characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
- descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB',
- descriptorValue: bufferDesc
- };
- try {
- let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
- device.readDescriptorValue(descriptor, readDesc);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
readDescriptorValue(descriptor: BLEDescriptor): Promise<BLEDescriptor>
client端讀取藍(lán)牙低功耗設(shè)備特定的特征包含的描述符。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
descriptor | 是 | 待讀取的描述符。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise<BLEDescriptor> | client讀取描述符,通過(guò)promise形式獲取。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2901000 | Read forbidden. |
2900099 | Operation failed. |
示例:
- let bufferDesc = new ArrayBuffer(8);
- let descV = new Uint8Array(bufferDesc);
- descV[0] = 11;
- let descriptor = {
- serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
- characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
- descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB',
- descriptorValue: bufferDesc
- };
- try {
- let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
- device.readDescriptorValue(descriptor);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
writeCharacteristicValue(characteristic: BLECharacteristic): void
client端向低功耗藍(lán)牙設(shè)備寫(xiě)入特定的特征值。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
characteristic | 是 | 藍(lán)牙設(shè)備特征對(duì)應(yīng)的二進(jìn)制值及其它參數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2901001 | Write forbidden. |
2900099 | Operation failed. |
示例:
- let descriptors = [];
- let bufferDesc = new ArrayBuffer(8);
- let descV = new Uint8Array(bufferDesc);
- descV[0] = 11;
- let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
- characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
- descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc};
- descriptors[0] = descriptor;
- let bufferCCC = new ArrayBuffer(8);
- let cccV = new Uint8Array(bufferCCC);
- cccV[0] = 1;
- let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
- characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
- characteristicValue: bufferCCC, descriptors:descriptors};
- try {
- let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
- device.writeCharacteristicValue(characteristic);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
writeDescriptorValue(descriptor: BLEDescriptor): void
client端向低功耗藍(lán)牙設(shè)備特定的描述符寫(xiě)入二進(jìn)制數(shù)據(jù)。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
descriptor | 是 | 藍(lán)牙設(shè)備描述符的二進(jìn)制值及其它參數(shù)。 | |
boolean | 寫(xiě)描述符操作成功返回true,操作失敗返回false。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2901001 | Write forbidden. |
2900099 | Operation failed. |
示例:
- let bufferDesc = new ArrayBuffer(8);
- let descV = new Uint8Array(bufferDesc);
- descV[0] = 22;
- let descriptor = {
- serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
- characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
- descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB',
- descriptorValue: bufferDesc
- };
- try {
- let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
- device.writeDescriptorValue(descriptor);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
setBLEMtuSize(mtu: number): void
client協(xié)商遠(yuǎn)端藍(lán)牙低功耗設(shè)備的最大傳輸單元(Maximum Transmission Unit, MTU),調(diào)用connect接口連接成功后才能使用。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
mtu | number | 是 | 設(shè)置范圍為22~512字節(jié)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900099 | Operation failed. |
示例:
- try {
- let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
- device.setBLEMtuSize(128);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
setNotifyCharacteristicChanged(characteristic: BLECharacteristic, enable: boolean): void
向服務(wù)端發(fā)送設(shè)置通知此特征值請(qǐng)求。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
characteristic | 是 | 藍(lán)牙低功耗特征。 | |
enable | boolean | 是 | 啟用接收notify設(shè)置為true,否則設(shè)置為false。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900099 | Operation failed. |
示例:
- // 創(chuàng)建descriptors
- let descriptors = [];
- let arrayBuffer = new ArrayBuffer(8);
- let descV = new Uint8Array(arrayBuffer);
- descV[0] = 11;
- let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
- characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
- descriptorUuid: '00002902-0000-1000-8000-00805F9B34FB', descriptorValue: arrayBuffer};
- descriptors[0] = descriptor;
- let arrayBufferC = new ArrayBuffer(8);
- let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
- characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', characteristicValue: arrayBufferC, descriptors:descriptors};
- try {
- let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
- device.setNotifyCharacteristicChanged(characteristic, false);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
on(type: "BLECharacteristicChange", callback: Callback<BLECharacteristic>): void
訂閱藍(lán)牙低功耗設(shè)備的特征值變化事件。需要先調(diào)用setNotifyCharacteristicChanged接口才能接收server端的通知。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"BLECharacteristicChange"字符串,表示特征值變化事件。 |
callback | Callback<BLECharacteristic> | 是 | 表示藍(lán)牙低功耗設(shè)備的特征值變化事件的回調(diào)函數(shù)。 |
示例:
- function CharacteristicChange(CharacteristicChangeReq) {
- let serviceUuid = CharacteristicChangeReq.serviceUuid;
- let characteristicUuid = CharacteristicChangeReq.characteristicUuid;
- let value = new Uint8Array(CharacteristicChangeReq.characteristicValue);
- }
- try {
- let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
- device.on('BLECharacteristicChange', CharacteristicChange);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
off(type: "BLECharacteristicChange", callback?: Callback<BLECharacteristic>): void
取消訂閱藍(lán)牙低功耗設(shè)備的特征值變化事件。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"BLECharacteristicChange"字符串,表示特征值變化事件。 |
callback | Callback<BLECharacteristic> | 否 | 表示取消訂閱藍(lán)牙低功耗設(shè)備的特征值變化事件。不填該參數(shù)則取消訂閱該type對(duì)應(yīng)的所有回調(diào)。 |
示例:
- try {
- let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
- device.off('BLECharacteristicChange');
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
on(type: "BLEConnectionStateChange", callback: Callback<BLEConnectChangedState>): void
client端訂閱藍(lán)牙低功耗設(shè)備的連接狀態(tài)變化事件。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"BLEConnectionStateChange"字符串,表示連接狀態(tài)變化事件。 |
callback | Callback<BLEConnectChangedState> | 是 | 表示連接狀態(tài),已連接或斷開(kāi)。 |
示例:
- function ConnectStateChanged(state) {
- console.log('bluetooth connect state changed');
- let connectState = state.state;
- }
- try {
- let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
- device.on('BLEConnectionStateChange', ConnectStateChanged);
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
off(type: "BLEConnectionStateChange", callback?: Callback<BLEConnectChangedState>): void
取消訂閱藍(lán)牙低功耗設(shè)備的連接狀態(tài)變化事件。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 填寫(xiě)"BLEConnectionStateChange"字符串,表示連接狀態(tài)變化事件。 |
callback | Callback<BLEConnectChangedState> | 否 | 表示取消訂閱藍(lán)牙低功耗設(shè)備的連接狀態(tài)變化事件。不填該參數(shù)則取消訂閱該type對(duì)應(yīng)的所有回調(diào)。 |
示例:
- try {
- let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
- device.off('BLEConnectionStateChange');
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
getDeviceName(callback: AsyncCallback<string>): void
client獲取遠(yuǎn)端藍(lán)牙低功耗設(shè)備名。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback<string> | 是 | client獲取對(duì)端server設(shè)備名,通過(guò)注冊(cè)回調(diào)函數(shù)獲取。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900099 | Operation failed. |
示例:
- // callback
- try {
- let gattClient = bluetoothManager.BLE.createGattClientDevice("XX:XX:XX:XX:XX:XX");
- gattClient.connect();
- let deviceName = gattClient.getDeviceName((err, data)=> {
- console.info('device name err ' + JSON.stringify(err));
- console.info('device name' + JSON.stringify(data));
- })
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
getDeviceName(): Promise<string>
client獲取遠(yuǎn)端藍(lán)牙低功耗設(shè)備名。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
返回值:
類型 | 說(shuō)明 |
---|---|
Promise<string> | client獲取對(duì)端server設(shè)備名,通過(guò)promise形式獲取。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900001 | Service stopped. |
2900099 | Operation failed. |
示例:
- // promise
- try {
- let gattClient = bluetoothManager.BLE.createGattClientDevice("XX:XX:XX:XX:XX:XX");
- gattClient.connect();
- let deviceName = gattClient.getDeviceName().then((data) => {
- console.info('device name' + JSON.stringify(data));
- })
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
getRssiValue(callback: AsyncCallback<number>): void
client獲取遠(yuǎn)端藍(lán)牙低功耗設(shè)備的信號(hào)強(qiáng)度 (Received Signal Strength Indication, RSSI),調(diào)用connect接口連接成功后才能使用。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback<number> | 是 | 返回信號(hào)強(qiáng)度,單位 dBm,通過(guò)注冊(cè)回調(diào)函數(shù)獲取。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900099 | Operation failed. |
示例:
- // callback
- try {
- let gattClient = bluetoothManager.BLE.createGattClientDevice("XX:XX:XX:XX:XX:XX");
- gattClient.connect();
- let rssi = gattClient.getRssiValue((err, data)=> {
- console.info('rssi err ' + JSON.stringify(err));
- console.info('rssi value' + JSON.stringify(data));
- })
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
getRssiValue(): Promise<number>
client獲取遠(yuǎn)端藍(lán)牙低功耗設(shè)備的信號(hào)強(qiáng)度 (Received Signal Strength Indication, RSSI),調(diào)用connect接口連接成功后才能使用。
需要權(quán)限:ohos.permission.USE_BLUETOOTH
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
返回值:
類型 | 說(shuō)明 |
---|---|
Promise<number> | 返回信號(hào)強(qiáng)度,單位 dBm,通過(guò)promise形式獲取。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)藍(lán)牙服務(wù)子系統(tǒng)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
2900099 | Operation failed. |
示例:
- // promise
- try {
- let gattClient = bluetoothManager.BLE.createGattClientDevice("XX:XX:XX:XX:XX:XX");
- let rssi = gattClient.getRssiValue().then((data) => {
- console.info('rssi' + JSON.stringify(data));
- })
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
枚舉,掃描模式。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 值 | 說(shuō)明 |
---|---|---|
SCAN_MODE_NONE | 0 | 沒(méi)有掃描模式。 |
SCAN_MODE_CONNECTABLE | 1 | 可連接掃描模式。 |
SCAN_MODE_GENERAL_DISCOVERABLE | 2 | general發(fā)現(xiàn)模式。 |
SCAN_MODE_LIMITED_DISCOVERABLE | 3 | limited發(fā)現(xiàn)模式。 |
SCAN_MODE_CONNECTABLE_GENERAL_DISCOVERABLE | 4 | 可連接general發(fā)現(xiàn)模式。 |
SCAN_MODE_CONNECTABLE_LIMITED_DISCOVERABLE | 5 | 可連接limited發(fā)現(xiàn)模式。 |
枚舉,配對(duì)狀態(tài)。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 值 | 說(shuō)明 |
---|---|---|
BOND_STATE_INVALID | 0 | 無(wú)效的配對(duì)。 |
BOND_STATE_BONDING | 1 | 正在配對(duì)。 |
BOND_STATE_BONDED | 2 | 已配對(duì)。 |
描述spp的配置參數(shù)。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 類型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
uuid | string | 是 | 是 | spp單據(jù)的uuid。 |
secure | boolean | 是 | 是 | 是否是安全通道。 |
type | 是 | 是 | Spp鏈路類型。 |
枚舉,Spp鏈路類型。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 值 | 說(shuō)明 |
---|---|---|
SPP_RFCOMM | 0 | 表示rfcomm鏈路類型。 |
描述service的接口參數(shù)定義。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 類型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
serviceUuid | string | 是 | 是 | 特定服務(wù)(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
isPrimary | boolean | 是 | 是 | 如果是主服務(wù)設(shè)置為true,否則設(shè)置為false。 |
characteristics | Array<BLECharacteristic> | 是 | 是 | 當(dāng)前服務(wù)包含的特征列表。 |
includeServices | Array<GattService> | 是 | 是 | 當(dāng)前服務(wù)依賴的其它服務(wù)。 |
描述characteristic的接口參數(shù)定義 。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 類型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
serviceUuid | string | 是 | 是 | 特定服務(wù)(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
characteristicUuid | string | 是 | 是 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 |
characteristicValue | ArrayBuffer | 是 | 是 | 特征對(duì)應(yīng)的二進(jìn)制值。 |
descriptors | Array<BLEDescriptor> | 是 | 是 | 特定特征的描述符列表。 |
描述descriptor的接口參數(shù)定義 。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 類型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
serviceUuid | string | 是 | 是 | 特定服務(wù)(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
characteristicUuid | string | 是 | 是 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 |
descriptorUuid | string | 是 | 是 | 描述符(descriptor)的UUID,例如:00002902-0000-1000-8000-00805f9b34fb。 |
descriptorValue | ArrayBuffer | 是 | 是 | 描述符對(duì)應(yīng)的二進(jìn)制值。 |
描述server端特征值變化時(shí)發(fā)送的特征通知參數(shù)定義。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 類型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
serviceUuid | string | 是 | 是 | 特定服務(wù)(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
characteristicUuid | string | 是 | 是 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 |
characteristicValue | ArrayBuffer | 是 | 是 | 特征對(duì)應(yīng)的二進(jìn)制值。 |
confirm | boolean | 是 | 是 | 如果是notification則對(duì)端回復(fù)確認(rèn)設(shè)置為true,如果是indication則對(duì)端不需要回復(fù)確認(rèn)設(shè)置為false。 |
描述server端訂閱后收到的特征值讀請(qǐng)求事件參數(shù)結(jié)構(gòu)。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 類型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
deviceId | string | 是 | 否 | 表示發(fā)送特征值讀請(qǐng)求的遠(yuǎn)端設(shè)備地址,例如:"XX:XX:XX:XX:XX:XX"。 |
transId | number | 是 | 否 | 表示讀請(qǐng)求的傳輸ID,server端回復(fù)響應(yīng)時(shí)需填寫(xiě)相同的傳輸ID。 |
offset | number | 是 | 否 | 表示讀特征值數(shù)據(jù)的起始位置。例如:k表示從第k個(gè)字節(jié)開(kāi)始讀,server端回復(fù)響應(yīng)時(shí)需填寫(xiě)相同的offset。 |
characteristicUuid | string | 是 | 否 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 |
serviceUuid | string | 是 | 否 | 特定服務(wù)(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
描述server端訂閱后收到的特征值寫(xiě)請(qǐng)求事件參數(shù)結(jié)構(gòu)。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 類型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
deviceId | string | 是 | 否 | 表示發(fā)送特征值寫(xiě)請(qǐng)求的遠(yuǎn)端設(shè)備地址,例如:"XX:XX:XX:XX:XX:XX"。 |
transId | number | 是 | 否 | 表示寫(xiě)請(qǐng)求的傳輸ID,server端回復(fù)響應(yīng)時(shí)需填寫(xiě)相同的傳輸ID。 |
offset | number | 是 | 否 | 表示寫(xiě)特征值數(shù)據(jù)的起始位置。例如:k表示從第k個(gè)字節(jié)開(kāi)始寫(xiě),server端回復(fù)響應(yīng)時(shí)需填寫(xiě)相同的offset。 |
descriptorUuid | string | 是 | 否 | 表示描述符(descriptor)的UUID,例如:00002902-0000-1000-8000-00805f9b34fb。 |
characteristicUuid | string | 是 | 否 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 |
serviceUuid | string | 是 | 否 | 特定服務(wù)(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
描述server端訂閱后收到的描述符讀請(qǐng)求事件參數(shù)結(jié)構(gòu)。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 類型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
deviceId | string | 是 | 否 | 表示發(fā)送描述符讀請(qǐng)求的遠(yuǎn)端設(shè)備地址,例如:"XX:XX:XX:XX:XX:XX"。 |
transId | number | 是 | 否 | 表示讀請(qǐng)求的傳輸ID,server端回復(fù)響應(yīng)時(shí)需填寫(xiě)相同的傳輸ID。 |
offset | number | 是 | 否 | 表示讀描述符數(shù)據(jù)的起始位置。例如:k表示從第k個(gè)字節(jié)開(kāi)始讀,server端回復(fù)響應(yīng)時(shí)需填寫(xiě)相同的offset。 |
descriptorUuid | string | 是 | 否 | 表示描述符(descriptor)的UUID,例如:00002902-0000-1000-8000-00805f9b34fb。 |
characteristicUuid | string | 是 | 否 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 |
serviceUuid | string | 是 | 否 | 特定服務(wù)(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
描述server端訂閱后收到的描述符寫(xiě)請(qǐng)求事件參數(shù)結(jié)構(gòu)。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 類型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
deviceId | string | 是 | 否 | 表示發(fā)送描述符寫(xiě)請(qǐng)求的遠(yuǎn)端設(shè)備地址,例如:"XX:XX:XX:XX:XX:XX"。 |
transId | number | 是 | 否 | 表示寫(xiě)請(qǐng)求的傳輸ID,server端回復(fù)響應(yīng)時(shí)需填寫(xiě)相同的傳輸ID。 |
offset | number | 是 | 否 | 表示寫(xiě)描述符數(shù)據(jù)的起始位置。例如:k表示從第k個(gè)字節(jié)開(kāi)始寫(xiě),server端回復(fù)響應(yīng)時(shí)需填寫(xiě)相同的offset。 |
isPrep | boolean | 是 | 否 | 表示寫(xiě)請(qǐng)求是否立即執(zhí)行。 |
needRsp | boolean | 是 | 否 | 表示是否要給client端回復(fù)響應(yīng)。 |
value | ArrayBuffer | 是 | 否 | 表示寫(xiě)入的描述符二進(jìn)制數(shù)據(jù)。 |
descriptorUuid | string | 是 | 否 | 表示描述符(descriptor)的UUID,例如:00002902-0000-1000-8000-00805f9b34fb。 |
characteristicUuid | string | 是 | 否 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 |
serviceUuid | string | 是 | 否 | 特定服務(wù)(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
描述server端回復(fù)client端讀/寫(xiě)請(qǐng)求的響應(yīng)參數(shù)結(jié)構(gòu)。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 類型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
deviceId | string | 是 | 否 | 表示遠(yuǎn)端設(shè)備地址,例如:"XX:XX:XX:XX:XX:XX"。 |
transId | number | 是 | 否 | 表示請(qǐng)求的傳輸ID,與訂閱的讀/寫(xiě)請(qǐng)求事件攜帶的ID保持一致。 |
status | number | 是 | 否 | 表示響應(yīng)的狀態(tài),設(shè)置為0即可,表示正常。 |
offset | number | 是 | 否 | 表示請(qǐng)求的讀/寫(xiě)起始位置,與訂閱的讀/寫(xiě)請(qǐng)求事件攜帶的offset保持一致。 |
value | ArrayBuffer | 是 | 否 | 表示回復(fù)響應(yīng)的二進(jìn)制數(shù)據(jù)。 |
描述Gatt profile連接狀態(tài) 。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 類型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
deviceId | string | 是 | 否 | 表示遠(yuǎn)端設(shè)備地址,例如:"XX:XX:XX:XX:XX:XX"。 |
state | 是 | 是 | 表示BLE連接狀態(tài)的枚舉。 |
枚舉,藍(lán)牙設(shè)備的profile連接狀態(tài)。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 值 | 說(shuō)明 |
---|---|---|
STATE_DISCONNECTED | 0 | 表示profile已斷連。 |
STATE_CONNECTING | 1 | 表示profile正在連接。 |
STATE_CONNECTED | 2 | 表示profile已連接。 |
STATE_DISCONNECTING | 3 | 表示profile正在斷連。 |
掃描過(guò)濾參數(shù)。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 類型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
deviceId | string | 是 | 是 | 表示過(guò)濾的BLE設(shè)備地址,例如:"XX:XX:XX:XX:XX:XX"。 |
name | string | 是 | 是 | 表示過(guò)濾的BLE設(shè)備名。 |
serviceUuid | string | 是 | 是 | 表示過(guò)濾包含該UUID服務(wù)的設(shè)備,例如:00001888-0000-1000-8000-00805f9b34fb。 |
serviceUuidMask | string | 是 | 是 | 表示過(guò)濾包含該UUID服務(wù)掩碼的設(shè)備,例如:FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF。 |
serviceSolicitationUuid | string | 是 | 是 | 表示過(guò)濾包含該UUID服務(wù)請(qǐng)求的設(shè)備,例如:00001888-0000-1000-8000-00805F9B34FB。 |
serviceSolicitationUuidMask | string | 是 | 是 | 表示過(guò)濾包含該UUID服務(wù)請(qǐng)求掩碼的設(shè)備,例如:FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF。 |
serviceData | ArrayBuffer | 是 | 是 | 表示過(guò)濾包含該服務(wù)相關(guān)數(shù)據(jù)的設(shè)備,例如:[0x90,0x00,0xF1,0xF2]。 |
serviceDataMask | ArrayBuffer | 是 | 是 | 表示過(guò)濾包含該服務(wù)相關(guān)數(shù)據(jù)掩碼的設(shè)備,例如:[0xFF,0xFF,0xFF,0xFF]。 |
manufactureId | number | 是 | 是 | 表示過(guò)濾包含該制造商ID的設(shè)備,例如:0x0006。 |
manufactureData | ArrayBuffer | 是 | 是 | 表示過(guò)濾包含該制造商相關(guān)數(shù)據(jù)的設(shè)備,例如:[0x1F,0x2F,0x3F]。 |
manufactureDataMask | ArrayBuffer | 是 | 是 | 表示過(guò)濾包含該制造商相關(guān)數(shù)據(jù)掩碼的設(shè)備,例如:[0xFF,0xFF,0xFF]。 |
枚舉,掃描模式。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 值 | 說(shuō)明 |
---|---|---|
SCAN_MODE_LOW_POWER | 0 | 表示低功耗模式,默認(rèn)值。 |
SCAN_MODE_BALANCED | 1 | 表示均衡模式。 |
SCAN_MODE_LOW_LATENCY | 2 | 表示低延遲模式。 |
枚舉,硬件過(guò)濾匹配模式。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 值 | 說(shuō)明 |
---|---|---|
MATCH_MODE_AGGRESSIVE | 1 | 表示硬件上報(bào)掃描結(jié)果門(mén)限較低,比如掃描到的功率較低或者一段時(shí)間掃描到的次數(shù)較少也觸發(fā)上報(bào),默認(rèn)值。 |
MATCH_MODE_STICKY | 2 | 表示硬件上報(bào)掃描結(jié)果門(mén)限較高,更高的功率門(mén)限以及掃描到多次才會(huì)上報(bào)。 |
掃描結(jié)果上報(bào)數(shù)據(jù)。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 類型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
deviceId | string | 是 | 否 | 表示掃描到的設(shè)備地址,例如:"XX:XX:XX:XX:XX:XX"。 |
rssi | number | 是 | 否 | 表示掃描到的設(shè)備的rssi值。 |
data | ArrayBuffer | 是 | 否 | 表示掃描到的設(shè)備發(fā)送的廣播包。 |
枚舉,藍(lán)牙開(kāi)關(guān)狀態(tài)。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 值 | 說(shuō)明 |
---|---|---|
STATE_OFF | 0 | 表示藍(lán)牙已關(guān)閉。 |
STATE_TURNING_ON | 1 | 表示藍(lán)牙正在打開(kāi)。 |
STATE_ON | 2 | 表示藍(lán)牙已打開(kāi)。 |
STATE_TURNING_OFF | 3 | 表示藍(lán)牙正在關(guān)閉。 |
STATE_BLE_TURNING_ON | 4 | 表示藍(lán)牙正在打開(kāi)LE-only模式。 |
STATE_BLE_ON | 5 | 表示藍(lán)牙正處于LE-only模式。 |
STATE_BLE_TURNING_OFF | 6 | 表示藍(lán)牙正在關(guān)閉LE-only模式。 |
描述藍(lán)牙低功耗設(shè)備發(fā)送廣播的參數(shù)。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 類型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
interval | number | 是 | 是 | 表示廣播間隔,最小值設(shè)置32個(gè)slot表示20ms,最大值設(shè)置16384個(gè)slot,默認(rèn)值設(shè)置為1600個(gè)slot表示1s。 |
txPower | number | 是 | 是 | 表示發(fā)送功率,最小值設(shè)置-127,最大值設(shè)置1,默認(rèn)值設(shè)置-7,單位dbm。 |
connectable | boolean | 是 | 是 | 表示是否是可連接廣播,默認(rèn)值設(shè)置為true。 |
描述BLE廣播數(shù)據(jù)包的內(nèi)容。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 類型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
serviceUuids | Array<string> | 是 | 是 | 表示要廣播的服務(wù) UUID 列表。 |
manufactureData | Array<ManufactureData> | 是 | 是 | 表示要廣播的廣播的制造商信息列表。 |
serviceData | Array<ServiceData> | 是 | 是 | 表示要廣播的服務(wù)數(shù)據(jù)列表。 |
描述BLE廣播數(shù)據(jù)包的內(nèi)容。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 類型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
manufactureId | number | 是 | 是 | 表示制造商的ID,由藍(lán)牙SIG分配。 |
manufactureValue | ArrayBuffer | 是 | 是 | 表示制造商發(fā)送的制造商數(shù)據(jù)。 |
描述廣播包中服務(wù)數(shù)據(jù)內(nèi)容。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 類型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
serviceUuid | string | 是 | 是 | 表示服務(wù)的UUID。 |
serviceValue | ArrayBuffer | 是 | 是 | 表示服務(wù)數(shù)據(jù)。 |
描述配對(duì)請(qǐng)求參數(shù)。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 類型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
deviceId | string | 是 | 否 | 表示要配對(duì)的設(shè)備ID。 |
pinCode | string | 是 | 否 | 表示要配對(duì)的密鑰。 |
描述配對(duì)狀態(tài)參數(shù)。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 類型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
deviceId | string | 是 | 否 | 表示要配對(duì)的設(shè)備ID。 |
state | BondState | 是 | 否 | 表示配對(duì)設(shè)備的狀態(tài)。 |
描述profile狀態(tài)改變參數(shù)。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 類型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
deviceId | string | 是 | 否 | 表示藍(lán)牙設(shè)備地址。 |
state | 是 | 否 | 表示藍(lán)牙設(shè)備的profile連接狀態(tài)。 |
描述藍(lán)牙設(shè)備的類別。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 類型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
majorClass | 是 | 否 | 表示藍(lán)牙設(shè)備主要類別的枚舉。 | |
majorMinorClass | 是 | 否 | 表示主要次要藍(lán)牙設(shè)備類別的枚舉。 | |
classOfDevice | number | 是 | 否 | 表示設(shè)備類別。 |
枚舉,藍(lán)牙設(shè)備主要類別。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 值 | 說(shuō)明 |
---|---|---|
MAJOR_MISC | 0x0000 | 表示雜項(xiàng)設(shè)備。 |
MAJOR_COMPUTER | 0x0100 | 表示計(jì)算機(jī)設(shè)備。 |
MAJOR_PHONE | 0x0200 | 表示手機(jī)設(shè)備。 |
MAJOR_NETWORKING | 0x0300 | 表示網(wǎng)絡(luò)設(shè)備。 |
MAJOR_AUDIO_VIDEO | 0x0400 | 表示音頻和視頻設(shè)備。 |
MAJOR_PERIPHERAL | 0x0500 | 表示外圍設(shè)備。 |
MAJOR_IMAGING | 0x0600 | 表示成像設(shè)備。 |
MAJOR_WEARABLE | 0x0700 | 表示可穿戴設(shè)備。 |
MAJOR_TOY | 0x0800 | 表示玩具設(shè)備。 |
MAJOR_HEALTH | 0x0900 | 表示健康設(shè)備。 |
MAJOR_UNCATEGORIZED | 0x1F00 | 表示未分類設(shè)備。 |
枚舉,主要次要藍(lán)牙設(shè)備類別。
系統(tǒng)能力:SystemCapability.Communication.Bluetooth.Core。
名稱 | 值 | 說(shuō)明 |
---|---|---|
COMPUTER_UNCATEGORIZED | 0x0100 | 表示未分類計(jì)算機(jī)設(shè)備。 |
COMPUTER_DESKTOP | 0x0104 | 表示臺(tái)式計(jì)算機(jī)設(shè)備。 |
COMPUTER_SERVER | 0x0108 | 表示服務(wù)器設(shè)備。 |
COMPUTER_LAPTOP | 0x010C | 表示便攜式計(jì)算機(jī)設(shè)備。 |
COMPUTER_HANDHELD_PC_PDA | 0x0110 | 表示手持式計(jì)算機(jī)設(shè)備。 |
COMPUTER_PALM_SIZE_PC_PDA | 0x0114 | 表示掌上電腦設(shè)備。 |
COMPUTER_WEARABLE | 0x0118 | 表示可穿戴計(jì)算機(jī)設(shè)備。 |
COMPUTER_TABLET | 0x011C | 表示平板電腦設(shè)備。 |
PHONE_UNCATEGORIZED | 0x0200 | 表示未分類手機(jī)設(shè)備。 |
PHONE_CELLULAR | 0x0204 | 表示便攜式手機(jī)設(shè)備。 |
PHONE_CORDLESS | 0x0208 | 表示無(wú)線電話設(shè)備。 |
PHONE_SMART | 0x020C | 表示智能手機(jī)設(shè)備。 |
PHONE_MODEM_OR_GATEWAY | 0x0210 | 表示調(diào)制解調(diào)器或網(wǎng)關(guān)手機(jī)設(shè)備。 |
PHONE_ISDN | 0x0214 | 表示ISDN手機(jī)設(shè)備。 |
NETWORK_FULLY_AVAILABLE | 0x0300 | 表示網(wǎng)絡(luò)完全可用設(shè)備。 |
NETWORK_1_TO_17_UTILIZED | 0x0320 | 表示使用網(wǎng)絡(luò)1到17設(shè)備。 |
NETWORK_17_TO_33_UTILIZED | 0x0340 | 表示使用網(wǎng)絡(luò)17到33設(shè)備。 |
NETWORK_33_TO_50_UTILIZED | 0x0360 | 表示使用網(wǎng)絡(luò)33到50設(shè)備。 |
NETWORK_60_TO_67_UTILIZED | 0x0380 | 表示使用網(wǎng)絡(luò)60到67設(shè)備。 |
NETWORK_67_TO_83_UTILIZED | 0x03A0 | 表示使用網(wǎng)絡(luò)67到83設(shè)備。 |
NETWORK_83_TO_99_UTILIZED | 0x03C0 | 表示使用網(wǎng)絡(luò)83到99設(shè)備。 |
NETWORK_NO_SERVICE | 0x03E0 | 表示網(wǎng)絡(luò)無(wú)服務(wù)設(shè)備。 |
AUDIO_VIDEO_UNCATEGORIZED | 0x0400 | 表示未分類音頻視頻設(shè)備。 |
AUDIO_VIDEO_WEARABLE_HEADSET | 0x0404 | 表示可穿戴式音頻視頻設(shè)備。 |
AUDIO_VIDEO_HANDSFREE | 0x0408 | 表示免提音頻視頻設(shè)備。 |
AUDIO_VIDEO_MICROPHONE | 0x0410 | 表示麥克風(fēng)音頻視頻設(shè)備。 |
AUDIO_VIDEO_LOUDSPEAKER | 0x0414 | 表示揚(yáng)聲器音頻視頻設(shè)備。 |
AUDIO_VIDEO_HEADPHONES | 0x0418 | 表示頭戴式音頻視頻設(shè)備。 |
AUDIO_VIDEO_PORTABLE_AUDIO | 0x041C | 表示便攜式音頻視頻設(shè)備。 |
AUDIO_VIDEO_CAR_AUDIO | 0x0420 | 表示汽車音頻視頻設(shè)備。 |
AUDIO_VIDEO_SET_TOP_BOX | 0x0424 | 表示機(jī)頂盒音頻視頻設(shè)備。 |
AUDIO_VIDEO_HIFI_AUDIO | 0x0428 | 表示高保真音響設(shè)備。 |
AUDIO_VIDEO_VCR | 0x042C | 表示錄像機(jī)音頻視頻設(shè)備。 |
AUDIO_VIDEO_VIDEO_CAMERA | 0x0430 | 表示照相機(jī)音頻視頻設(shè)備。 |
AUDIO_VIDEO_CAMCORDER | 0x0434 | 表示攝像機(jī)音頻視頻設(shè)備。 |
AUDIO_VIDEO_VIDEO_MONITOR | 0x0438 | 表示監(jiān)視器音頻視頻設(shè)備。 |
AUDIO_VIDEO_VIDEO_DISPLAY_AND_LOUDSPEAKER | 0x043C | 表示視頻顯示器和揚(yáng)聲器設(shè)備。 |
AUDIO_VIDEO_VIDEO_CONFERENCING | 0x0440 | 表示音頻視頻會(huì)議設(shè)備。 |
AUDIO_VIDEO_VIDEO_GAMING_TOY | 0x0448 | 表示游戲玩具音頻視頻設(shè)備。 |
PERIPHERAL_NON_KEYBOARD_NON_POINTING | 0x0500 | 表示非鍵盤(pán)非指向外圍設(shè)備。 |
PERIPHERAL_KEYBOARD | 0x0540 | 表示外設(shè)鍵盤(pán)設(shè)備。 |
PERIPHERAL_POINTING_DEVICE | 0x0580 | 表示定點(diǎn)裝置外圍設(shè)備。 |
PERIPHERAL_KEYBOARD_POINTING | 0x05C0 | 表示鍵盤(pán)指向外圍設(shè)備。 |
PERIPHERAL_UNCATEGORIZED | 0x0500 | 表示未分類外圍設(shè)備。 |
PERIPHERAL_JOYSTICK | 0x0504 | 表示周邊操縱桿設(shè)備。 |
PERIPHERAL_GAMEPAD | 0x0508 | 表示周邊游戲板設(shè)備。 |
PERIPHERAL_REMOTE_CONTROL | 0x05C0 | 表示遠(yuǎn)程控制外圍設(shè)備。 |
PERIPHERAL_SENSING_DEVICE | 0x0510 | 表示外圍傳感設(shè)備設(shè)備。 |
PERIPHERAL_DIGITIZER_TABLET | 0x0514 | 表示外圍數(shù)字化儀平板電腦設(shè)備。 |
PERIPHERAL_CARD_READER | 0x0518 | 表示外圍讀卡器設(shè)備。 |
PERIPHERAL_DIGITAL_PEN | 0x051C | 表示外設(shè)數(shù)碼筆設(shè)備。 |
PERIPHERAL_SCANNER_RFID | 0x0520 | 表示射頻識(shí)別掃描儀外圍設(shè)備。 |
PERIPHERAL_GESTURAL_INPUT | 0x0522 | 表示手勢(shì)輸入外圍設(shè)備。 |
IMAGING_UNCATEGORIZED | 0x0600 | 表示未分類的圖像設(shè)備。 |
IMAGING_DISPLAY | 0x0610 | 表示圖像顯示設(shè)備。 |
IMAGING_CAMERA | 0x0620 | 表示成像照相機(jī)設(shè)備。 |
IMAGING_SCANNER | 0x0640 | 表示成像掃描儀設(shè)備。 |
IMAGING_PRINTER | 0x0680 | 表示成像打印機(jī)設(shè)備。 |
WEARABLE_UNCATEGORIZED | 0x0700 | 表示未分類的可穿戴設(shè)備。 |
WEARABLE_WRIST_WATCH | 0x0704 | 表示可穿戴腕表設(shè)備。 |
WEARABLE_PAGER | 0x0708 | 表示可穿戴尋呼機(jī)設(shè)備。 |
WEARABLE_JACKET | 0x070C | 表示夾克可穿戴設(shè)備。 |
WEARABLE_HELMET | 0x0710 | 表示可穿戴頭盔設(shè)備。 |
WEARABLE_GLASSES | 0x0714 | 表示可穿戴眼鏡設(shè)備。 |
TOY_UNCATEGORIZED | 0x0800 | 表示未分類的玩具設(shè)備。 |
TOY_ROBOT | 0x0804 | 表示玩具機(jī)器人設(shè)備。 |
TOY_VEHICLE | 0x0808 | 表示玩具車設(shè)備。 |
TOY_DOLL_ACTION_FIGURE | 0x080C | 表示人形娃娃玩具設(shè)備。 |
TOY_CONTROLLER | 0x0810 | 表示玩具控制器設(shè)備。 |
TOY_GAME | 0x0814 | 表示玩具游戲設(shè)備。 |
HEALTH_UNCATEGORIZED | 0x0900 | 表示未分類健康設(shè)備。 |
HEALTH_BLOOD_PRESSURE | 0x0904 | 表示血壓健康設(shè)備。 |
HEALTH_THERMOMETER | 0x0908 | 表示溫度計(jì)健康設(shè)備。 |
HEALTH_WEIGHING | 0x090C | 表示體重健康設(shè)備。 |
HEALTH_GLUCOSE | 0x0910 | 表示葡萄糖健康設(shè)備。 |
HEALTH_PULSE_OXIMETER | 0x0914 | 表示脈搏血氧儀健康設(shè)備。 |
HEALTH_PULSE_RATE | 0x0918 | 表示脈搏率健康設(shè)備。 |
HEALTH_DATA_DISPLAY | 0x091C | 表示數(shù)據(jù)顯示健康設(shè)備。 |
HEALTH_STEP_COUNTER | 0x0920 | 表示階梯計(jì)數(shù)器健康設(shè)備。 |
HEALTH_BODY_COMPOSITION_ANALYZER | 0x0924 | 表示身體成分分析儀健康設(shè)備。 |
HEALTH_PEAK_FLOW_MONITOR | 0x0928 | 表示濕度計(jì)健康設(shè)備。 |
HEALTH_MEDICATION_MONITOR | 0x092C | 表示藥物監(jiān)視儀健康設(shè)備。 |
HEALTH_KNEE_PROSTHESIS | 0x0930 | 表示膝蓋假肢健康設(shè)備。 |
HEALTH_ANKLE_PROSTHESIS | 0x0934 | 表示腳踝假肢健康設(shè)備。 |
HEALTH_GENERIC_HEALTH_MANAGER | 0x0938 | 表示通用健康管理設(shè)備。 |
HEALTH_PERSONAL_MOBILITY_DEVICE | 0x093C | 表示個(gè)人移動(dòng)健康設(shè)備。 |
更多建議: