6、連線已發現的藍芽裝置(createBLEConnection)
wx.createBLEConnection(Object object)
基礎庫 1.1.0 開始支援,低版本需做相容處理。
連線低功耗藍芽裝置。
若小程式在之前已有搜尋過某個藍芽裝置,併成功建立連線,可直接傳入之前搜尋獲取的 deviceId 直接嘗試連線該裝置,無需進行搜尋操作。
引數
Object object
屬性 | 型別 | 預設值 | 必填 | 說明 |
---|---|---|---|---|
deviceId | string | 是 | 用於區分裝置的 id | |
timeout | number | 否 | 超時時間,單位ms,不填表示不會超時 | |
success | function | 否 | 介面呼叫成功的回撥函式 | |
fail | function | 否 | 介面呼叫失敗的回撥函式 | |
complete | function | 否 | 介面呼叫結束的回撥函式(呼叫成功、失敗都會執行) |
注意
- 請保證儘量成對的呼叫
createBLEConnection
和closeBLEConnection
介面。安卓如果多次呼叫createBLEConnection
建立連線,有可能導致系統持有同一裝置多個連線的例項,導致呼叫closeBLEConnection
的時候並不能真正的斷開與裝置的連線。 - 藍芽連線隨時可能斷開,建議監聽
wx.onBLEConnectionStateChange
回撥事件,當藍芽裝置斷開時按需執行重連操作 - 若對未連線的裝置或已斷開連線的裝置呼叫資料讀寫操作的介面,會返回 10006 錯誤,建議進行重連操作。
lanyatest.wxml程式碼:
<!--pages/lanyatest/lanyatest.wxml-->
<view class="contentview">
<view class='myview' >
{{info}}
</view>
<button type="primary" class="button" bindtap="lanyatest1">1初始化藍芽</button>
<button type="primary" class="button" bindtap="lanyatest2">2獲取藍芽狀態</button>
<button type="primary" class="button" bindtap="lanyatest3">3搜尋周邊裝置</button>
<button type="primary" class="button" bindtap="lanyatest4">4獲取所有裝置</button>
<block wx:for="{{devices}}" wx:key="{{test}}">
<button type="primary" class="button" id="{{item.deviceId}}" style='background-color:red' bindtap="lanyaconnect">5連線{{item.name}}
</button>
</block>
</view>
lanyatest.js程式碼:
// pages/lanyatest/lanyatest.js
Page({
/**
* 頁面的初始資料
*/
data: {
info:"未初始化藍芽介面卡",
connectedDeviceId:""
},
lanyatest1(event){
var that = this;
wx.openBluetoothAdapter({
success: function (res) {
console.log('初始化藍芽介面卡成功')
//頁面日誌顯示
that.setData({
info: '初始化藍芽介面卡成功'
})
},
fail: function (res) {
console.log('請開啟藍芽和定位功能')
that.setData({
info: '請開啟藍芽和定位功能'
})
}
})
},
lanyatest2(event){
var that = this;
wx.getBluetoothAdapterState({
success: function (res) {
//列印相關資訊
console.log(JSON.stringify(res.errMsg) + "\n藍芽是否可用:" + res.available);
that.setData({
info: JSON.stringify(res.errMsg) +"\n藍芽是否可用:" + res.available
})
},
fail: function (res) {
//列印相關資訊
console.log(JSON.stringify(res.errMsg) + "\n藍芽是否可用:" + res.available);
that.setData({
info: JSON.stringify(res.errMsg) + "\n藍芽是否可用:" + res.available
})
}
})
},
lanyatest3(event){
var that = this;
wx.startBluetoothDevicesDiscovery({
services: ['FEE7'], //如果填寫了此UUID,那麼只會搜尋出含有這個UUID的裝置,建議一開始先不填寫或者註釋掉這一句
success: function (res) {
that.setData({
info: "搜尋裝置" + JSON.stringify(res),
})
console.log('搜尋裝置返回' + JSON.stringify(res))
}
})
},
lanyatest4(event){
var that = this;
wx.getBluetoothDevices({
success: function (res) {
that.setData({
info: "裝置列表\n" + JSON.stringify(res.devices),
devices: res.devices
})
console.log('搜裝置數目:' + res.devices.length)
console.log('裝置資訊:\n' + JSON.stringify(res.devices)+"\n")
}
})
},
lanyaconnect(event){
var that = this;
wx.createBLEConnection({
deviceId: event.currentTarget.id,
success: function (res) {
console.log('除錯資訊:' + res.errMsg);
that.setData({
connectedDeviceId: event.currentTarget.id,
info: "MAC地址:" + event.currentTarget.id + ' 除錯資訊:' + res.errMsg,
})
},
fail: function () {
console.log("連線失敗");
},
})
}
//我刪除了自動生成的生命週期函式
})
lanyatest.wxss程式碼:
/* pages/lanyatest/lanyatest.wxss */
.vertical{
display: flex;
flex-direction: column;
}
/**index.wxss**/
.horizontal{
display: flex;
flex-direction: row;
}
.btinfo{
height:100px;
}
.contentview {
margin: 0 10px;
}
.button {
margin: 5px;
}
.myview{
height:200px;
word-break:break-all;/* 自動換行 */
}
真機除錯結果:
相關文章
- iOS藍芽開發 Bluetooth藍芽CoreBluetooth 藍芽中心裝置的實現 藍芽外設的實現 有DemoiOS藍芽
- 筆記本怎麼連線藍芽耳機 膝上型電腦連線藍芽裝置教程筆記藍芽
- 膝上型電腦怎麼連線藍芽音響裝置 筆記本和藍芽音響連線藍芽筆記
- 電腦藍芽怎麼連線 電腦連線藍芽的方法藍芽
- 藍芽滑鼠已配對為什麼沒反應 win10藍芽滑鼠已連線無反應藍芽Win10
- 藍芽耳機怎麼連線手機 藍芽耳機連線手機的方法藍芽
- 音響怎麼連線手機藍芽 音響連線手機藍芽的方法藍芽
- windows10系統下藍芽無法連線裝置怎麼解決Windows藍芽
- 藍芽耳機連上為什麼沒聲音 藍芽耳機已連線但就是沒聲音藍芽
- 已連線車載藍芽但放不了音樂 藍芽配對成功放不了音樂藍芽
- 怎麼用手機藍芽連線電腦 手機藍芽連線電腦的步驟藍芽
- 為什麼藍芽耳機連上卻沒有聲音 藍芽明明已連線但就是沒聲音藍芽
- 手機藍芽搜尋不到裝置怎麼辦 藍芽裝置刪除後搜尋不到藍芽
- Macbook如何連線藍芽鍵盤?Mac藍芽
- 如何使用藍芽裝置喚醒您的Mac藍芽Mac
- 藍芽配對成功但沒有聲音怎麼辦 藍芽明明已連線但沒有聲音藍芽
- 電腦藍芽搜尋不到裝置怎麼辦 win10電腦檢測不到藍芽裝置藍芽Win10
- 電腦怎麼連藍芽音響 藍芽音響連線電腦步驟藍芽
- win10裝置管理器藍芽模組不見了 裝置管理器藍芽模組消失的方法Win10藍芽模組
- win10藍芽連線音響的方法_win10系統怎麼連線小米藍芽音響Win10藍芽
- 小愛音響怎麼使用藍芽連線手機 小愛音響連線手機藍芽的方法藍芽
- win10藍芽裝置找不到怎麼辦 win10藍芽裝置不見了如何修復Win10藍芽
- win10系統搜尋不到藍芽裝置怎麼辦_win10藍芽搜不到裝置的解決教程Win10藍芽
- 聯想無線滑鼠怎麼連線電腦連線藍芽藍芽
- 一鍵藍芽裝置連線切換軟體:ToothFairy for Mac v2.8.3中文版藍芽AIMac
- Win10系統怎麼連線藍芽耳機 win10系統連線藍芽耳機的方法Win10藍芽
- win10系統如何連線羅技藍芽滑鼠 win10連線羅技藍芽滑鼠的步驟Win10藍芽
- Mac藍芽連線有問題該如何?教你重置Mac藍芽模組Mac藍芽模組
- win10藍芽裝置被刪除怎麼恢復_win10藍芽裝置刪除如何還原Win10藍芽
- Win11推出藍芽裝置快速設定裝置列表測試藍芽
- Win10系統顯示藍芽已配對但未連線的解決方法Win10藍芽
- 小程式對接低能耗藍芽裝置藍芽
- 筆記本怎麼連藍芽耳機 筆記本連線藍芽耳機步驟筆記藍芽
- 電腦怎麼連線藍芽音響 臺式電腦連藍芽音響圖解藍芽圖解
- 藍芽耳機怎麼連線手機連不上怎麼辦 藍芽耳機突然無法連線手機藍芽
- MacBook如何連線多個藍芽音響?Mac藍芽
- win10系統如何連線藍芽鍵盤 win10系統藍芽鍵盤連線電腦的方法Win10藍芽
- 電腦能連藍芽耳機嗎 電腦怎麼連線藍芽耳機win10藍芽Win10