有一段时间没有。没有写关于小程序的文章了。3月28日,微信的api又一次新的更新。期待已久的蓝牙api更新。就开始撸一番。
源码地址
1.简述
蓝牙适配器接口是基础库版本 1.1.0 开始支持。
iOS 微信客户端 6.5.6 版本开始支持,Android 客户端暂不支持
蓝牙总共增加了18个api接口。
2.Api分类
搜索类
连接类
通信类
3.API的具体使用
详细见官网:
https://mp.weixin.qq.com/debug/wxadoc/dev/api/bluetooth.html#wxgetconnectedbluethoothdevicesobject
4. 案例实现
4.1 搜索蓝牙设备
- /**
- *搜索设备界面
- */
- Page({
- data:{
- logs:[],
- list:[],
- },
- onLoad:function(){
- console.log('onLoad')
- varthat=this;
- //constSDKVersion=wx.getSystemInfoSync().SDKVersion||'1.0.0'
- //const[MAJOR,MINOR,PATCH]=SDKVersion.split('.').map(Number)
- //console.log(SDKVersion);
- //console.log(MAJOR);
- //console.log(MINOR);
- //console.log(PATCH);
- //constcanIUse=apiName=>{
- //if(apiName==='showModal.cancel'){
- //returnMAJOR>=1&&MINOR>=1
- //}
- //returntrue
- //}
- //wx.showModal({
- //success:function(res){
- //if(canIUse('showModal.cancel')){
- //console.log(res.cancel)
- //}
- //}
- //})
- //获取适配器
- wx.openBluetoothAdapter({
- success:function(res){
- //success
- console.log("—–success———-");
- console.log(res);
- //开始搜索
- wx.startBluetoothDevicesDiscovery({
- services:[],
- success:function(res){
- //success
- console.log("—–startBluetoothDevicesDiscovery–success———-");
- console.log(res);
- },
- fail:function(res){
- //fail
- console.log(res);
- },
- complete:function(res){
- //complete
- console.log(res);
- }
- })
- },
- fail:function(res){
- console.log("—–fail———-");
- //fail
- console.log(res);
- },
- complete:function(res){
- //complete
- console.log("—–complete———-");
- console.log(res);
- }
- })
- wx.getBluetoothDevices({
- success:function(res){
- //success
- //{devices:Array[11],errMsg:"getBluetoothDevices:ok"}
- console.log("getBluetoothDevices");
- console.log(res);
- that.setData({
- list:res.devices
- });
- console.log(that.data.list);
- },
- fail:function(res){
- //fail
- },
- complete:function(res){
- //complete
- }
- })
- },
- onShow:function(){
- },
- //点击事件处理
- bindViewTap:function(e){
- console.log(e.currentTarget.dataset.title);
- console.log(e.currentTarget.dataset.name);
- console.log(e.currentTarget.dataset.advertisData);
- vartitle=e.currentTarget.dataset.title;
- varname=e.currentTarget.dataset.name;
- wx.redirectTo({
- url:'../conn/conn?deviceId='+title+'&name='+name,
- success:function(res){
- //success
- },
- fail:function(res){
- //fail
- },
- complete:function(res){
- //complete
- }
- })
- },
- })
4.2连接 获取数据
