Home » Uncategorized » 微信小程序 初始化蓝牙适配器(wx.openBluetoothAdapter)

微信小程序 初始化蓝牙适配器(wx.openBluetoothAdapter)

官方文档连接: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代码:

  1. <!–pages/lanyatest/lanyatest.wxml–>
  2. <viewclass=“contentview”>
  3. <viewclass=‘myview’>
  4. <text>
  5. {{info}}
  6. </text>
  7. </view>
  8. <buttontype=“primary”class=“button”bindtap=“lanyatest1”>1初始化蓝牙</button>
  9. </view>

 

lanyatest.js代码:

  1. // pages/lanyatest/lanyatest.js
  2. Page({
  3. /**
  4. * 页面的初始数据
  5. */
  6. data: {
  7. info:“未初始化蓝牙适配器”
  8. },
  9. lanyatest1(event){
  10. var that = this;
  11. wx.openBluetoothAdapter({
  12. success: function (res) {
  13. console.log(‘初始化蓝牙适配器成功’)
  14. //页面日志显示
  15. that.setData({
  16. info: ‘初始化蓝牙适配器成功’
  17. })
  18. },
  19. fail: function (res) {
  20. console.log(‘请打开蓝牙和定位功能’)
  21. that.setData({
  22. info: ‘请打开蓝牙和定位功能’
  23. })
  24. }
  25. })
  26. },
  27. //我删除了自动生命的声明周期函数
  28. })

lanyatest.wxss代码:

  1. /* pages/lanyatest/lanyatest.wxss */
  2. .vertical{
  3. display: flex;
  4. flex-direction: column;
  5. }
  6. /**index.wxss**/
  7. .horizontal{
  8. display: flex;
  9. flex-direction: row;
  10. }
  11. .btinfo{
  12. height:100px;
  13. }
  14. .contentview {
  15. margin: 010px;
  16. }
  17. .button {
  18. margin: 5px;
  19. }
  20. .myview{
  21. height:200px;
  22. }

 

调试:

1、先进行编译

2、预览到手机(确保微信运行在手机前台,有时候不灵,可以多点两下)

3、打开手机微信的调试功能(小程序会退出,重新编译预览就会打开了)

4、微信右下角出现调试功能

5、查看打印出来的信息

 

 

开发心得:

很多人被卡在第一步,连蓝牙适配器都打不开,其实是有以下原因:

1、忘记打开蓝牙

2、没有打开定位功能

3、微信没有定位权限(在手机的权限设置里打开)

定位功能主要负责后面的搜索蓝牙时需要用到,如果没有打开定位功能,后面会导致搜索不到蓝牙