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