官方文档连接:https://developers.weixin.qq.com/miniprogram/dev/api/wx.openBluetoothAdapter.html
wx.openBluetoothAdapter(Object object)
基础库 1.1.0 开始支持,低版本需做兼容处理。
初始化蓝牙模块
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
注意
- 其他蓝牙相关 API 必须在
wx.openBluetoothAdapter
调用之后使用。否则 API 会返回错误(errCode=10000)。 - 在用户蓝牙开关未开启或者手机不支持蓝牙功能的情况下,调用
wx.openBluetoothAdapter
会返回错误(errCode=10001),表示手机蓝牙功能不可用。此时小程序蓝牙模块已经初始化完成,可通过wx.onBluetoothAdapterStateChange
监听手机蓝牙状态的改变,也可以调用蓝牙模块的所有API。
lanyatest.wxml代码:
<!--pages/lanyatest/lanyatest.wxml-->
<view class="contentview"><view class='myview'><text>{{info}}</text></view><button type="primary" class="button" bindtap="lanyatest1">1初始化蓝牙</button></view>
lanyatest.js代码:
// pages/lanyatest/lanyatest.js
Page({/*** 页面的初始数据*/data: {info:"未初始化蓝牙适配器"},lanyatest1(event){var that = this;wx.openBluetoothAdapter({success: function (res) {console.log('初始化蓝牙适配器成功')//页面日志显示that.setData({info: '初始化蓝牙适配器成功'})},fail: function (res) {console.log('请打开蓝牙和定位功能')that.setData({info: '请打开蓝牙和定位功能'})}})},
//我删除了自动生命的声明周期函数})
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;
}
调试:
1、先进行编译
2、预览到手机(确保微信运行在手机前台,有时候不灵,可以多点两下)
3、打开手机微信的调试功能(小程序会退出,重新编译预览就会打开了)
4、微信右下角出现调试功能
5、查看打印出来的信息
开发心得:
很多人被卡在第一步,连蓝牙适配器都打不开,其实是有以下原因:
1、忘记打开蓝牙
2、没有打开定位功能
3、微信没有定位权限(在手机的权限设置里打开)
定位功能主要负责后面的搜索蓝牙时需要用到,如果没有打开定位功能,后面会导致搜索不到蓝牙