藍(lán)牙
說明:
開發(fā)前請(qǐng)熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
導(dǎo)入模塊
import bluetooth from '@system.bluetooth';
bluetooth.startBLEScan(OBJECT)
開始搜尋附近的低功耗藍(lán)牙外圍設(shè)備。此操作比較耗費(fèi)系統(tǒng)資源,請(qǐng)?jiān)谒阉鞑⑦B接到設(shè)備后調(diào)用[bluetooth.stopBLEScan]方法停止搜索。
需要權(quán)限: ohos.permission.DISCOVER_BLUETOOTH、ohos.permission.LOCATION
系統(tǒng)能力: SystemCapability.Communication.Bluetooth.Lite
參數(shù):表1 StartBLEScanOptions
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
interval | number | 否 | 上報(bào)設(shè)備的間隔,單位毫秒,默認(rèn)值為0。0表示找到新設(shè)備立即上報(bào),其他數(shù)值根據(jù)傳入的間隔上報(bào)。 |
success | Function | 否 | 接口調(diào)用成功的回調(diào)函數(shù)。 |
fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù)。 |
complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)。 |
示例:
bluetooth.startBLEScan({
interval:0,
success() {
console.log('call bluetooth.startBLEScan success.');
},
fail(code, data) {
console.log('call bluetooth.startBLEScan failed, code: ${code}, data: ${data}.');
},
complete() {
console.log('call bluetooth.startBLEScan complete.');
}
});
bluetooth.stopBLEScan(OBJECT)
停止搜尋附近的低功耗藍(lán)牙外圍設(shè)備。與[bluetooth.startBLEScan(OBJECT)]接口配套使用。
需要權(quán)限: ohos.permission.DISCOVER_BLUETOOTH、ohos.permission.LOCATION
系統(tǒng)能力: SystemCapability.Communication.Bluetooth.Lite
參數(shù):表2 StopBLEScanOptions
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
success | Function | 否 | 接口調(diào)用成功的回調(diào)函數(shù)。 |
fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù)。 |
complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)。 |
示例:
bluetooth.stopBLEScan({
success() {
console.log('call bluetooth.stopBLEScan success.');
},
fail(data, code) {
console.log('call bluethooth.stopBLEScan fail, code: ${code}, data: ${data}.');
},
complete() {
console.log('call bluethooth.stopBLEScan complete.');
}
});
bluetooth.subscribeBLEFound(OBJECT)
訂閱尋找到新設(shè)備。再次調(diào)用時(shí),會(huì)覆蓋前一次調(diào)用效果,即僅最后一次調(diào)用生效。
需要權(quán)限: ohos.permission.DISCOVER_BLUETOOTH、ohos.permission.LOCATION
系統(tǒng)能力: SystemCapability.Communication.Bluetooth.Lite
參數(shù):表3 SubscribeBLEFoundOptions
參數(shù) | 類型 | 必填 | 說明 |
---|---|---|---|
success | Function | 是 | 尋找到新設(shè)備上報(bào)時(shí)調(diào)用的回調(diào)函數(shù)。 |
fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù)。 |
表4 success返回值:
參數(shù)名 | 類型 | 說明 |
---|---|---|
devices | Array | 新搜索到的設(shè)備列表。 |
表5 BluethoothDevice
參數(shù)名 | 類型 | 說明HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
---|---|---|
addrType | string | 設(shè)備地址類型,可能值有: - public: 公共地址 - random: 隨機(jī)地址 |
addr | string | 設(shè)備MAC地址。 |
rssi | number | 設(shè)備藍(lán)牙的信號(hào)強(qiáng)弱指標(biāo)。 |
txpower | string | 廣播數(shù)據(jù)中的txpower字段。 |
data | hex string | 廣播數(shù)據(jù)(包含廣播數(shù)據(jù)和掃描響應(yīng)數(shù)據(jù)),十六進(jìn)制字符串。 |
示例:
bluetooth.subscribeBLEFound({
success(data) {
console.log('call bluetooth.subscribeBLEFound success, data: ${data}.');
},
fail(data, code) {
console.log('call bluetooth.startBLEScan failed, data: ${data}, code: ${code}.');
}
});
bluetooth.unsubscribeBLEFound()
解除訂閱尋找到新設(shè)備。
需要權(quán)限: ohos.permission.DISCOVER_BLUETOOTH、ohos.permission.LOCATION
系統(tǒng)能力: SystemCapability.Communication.Bluetooth.Lite
示例:
bluetooth.unsubscribeBLEFound();
常見錯(cuò)誤碼
錯(cuò)誤碼 | 說明 |
---|---|
1100 | 是否處于已連接狀態(tài)。 |
1101 | 當(dāng)前藍(lán)牙適配器不可用。 |
1102 | 沒有找到指定設(shè)備。 |
1103 | 連接失敗。 |
1104 | 沒有找到指定服務(wù)。 |
1105 | 沒有找到指定特征值。 |
1106 | 當(dāng)前連接已斷開。 |
1107 | 當(dāng)前特征值不支持此操作。 |
1108 | 其余所有系統(tǒng)上報(bào)的異常。 |
1109 | 系統(tǒng)版本不支持 BLE。 |
審核編輯 黃宇
-
藍(lán)牙
+關(guān)注
關(guān)注
114文章
5834瀏覽量
170607 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2369瀏覽量
42900
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論