微信開放文檔
藍牙 (Bluetooth)
小程序將各平臺的(de)藍(lan)牙能力(li)通過(guo)統一的(de)接(jie)(jie)口(kou)封裝提供(gong)給(gei)開(kai)(kai)發者使(shi)用(yong)。利用(yong)小程序的(de)藍(lan)牙接(jie)(jie)口(kou),開(kai)(kai)發者可以通過(guo)無線方(fang)式(shi)與其他(ta)藍(lan)牙設備交換數(shu)據。
1. 藍牙能力概述
藍牙(ya)技術(shu)(shu)規范(fan)由藍牙(ya)技術(shu)(shu)聯盟 (Bluetooth Special Interest Group, SIG) 制定,開發(fa)者可以在其官方網(wang)站獲取(qu)到詳細(xi)的技術(shu)(shu)文檔(dang)。
目前藍牙最(zui)為普遍使用(yong)的有兩種規格:
2. 小程(cheng)序中的藍牙能力
在小程序(xu)中,要使用(yong)藍(lan)(lan)牙(ya)(ya)能力(Beacon 除(chu)外)必須首先調用(yong) wx.openBluetoothAdapter 初始化藍(lan)(lan)牙(ya)(ya)適(shi)配器模塊(kuai),其生效(xiao)周期為調用(yong) wx.openBluetoothAdapter 至調用(yong) wx.closeBluetoothAdapter 或小程序(xu)被銷毀為止。只有在小程序(xu)藍(lan)(lan)牙(ya)(ya)適(shi)配器模塊(kuai)生效(xiao)期間,開發者才能夠正常(chang)調用(yong)藍(lan)(lan)牙(ya)(ya)相(xiang)(xiang)關的(de)小程序(xu) API,并(bing)收到藍(lan)(lan)牙(ya)(ya)模塊(kuai)相(xiang)(xiang)關的(de)事件回(hui)調(綁定監聽不受此(ci)限制)。
小程序對藍牙支持情況如下:
3. 注意事項
由于(yu)各平臺對藍(lan)牙協議棧(zhan)的實現和限制(zhi)有較大(da)差(cha)異(yi),開發者在使用小程序藍(lan)牙能力時還需要注意以下方面:
3.1 設(she)備 ID (deviceId)
每個藍(lan)牙外圍設(she)備(bei)都有唯一的(de) deviceId 來(lai)標識(shi)。由于部分(fen)系統實現(xian)的(de)限(xian)制,對于同一臺藍(lan)牙外圍設(she)備(bei),在不同中心設(she)備(bei)上掃描獲取到的(de) deviceId 可(ke)能(neng)(neng)是變化的(de)。因此 deviceId 不能(neng)(neng)硬編碼到代碼中。
3.2 調試
不(bu)同平(ping)臺的(de)(de)(de)(de)藍(lan)牙(ya)實現(xian)也存(cun)在(zai)較大差異。小程(cheng)序(xu)會在(zai)提供統(tong)一接口(kou)的(de)(de)(de)(de)基礎上,盡(jin)可能(neng)的(de)(de)(de)(de)提供完整(zheng)的(de)(de)(de)(de)系(xi)統(tong)藍(lan)牙(ya)能(neng)力,弱化不(bu)同平(ping)臺的(de)(de)(de)(de)實現(xian)差異。
但(dan)由于(yu)操作(zuo)系統本身的限制,部分能力無法保(bao)證(zheng)完全一致,請開發者(zhe)注意文檔中(zhong)的注意事項,并在各端的真機都(dou)進行調(diao)試。開發者(zhe)工具上(shang)只(zhi)能模(mo)擬部分藍(lan)牙(ya)接(jie)口能力,完整功能請使(shi)用真機調(diao)試。
示例代碼
在開發者工具中預覽效果(guo)