收藏
回答

安卓蓝牙

问题模块
API和组件

今天发现小程序可以支持安卓蓝牙API了,但测试了下wx.getBluetoothDevices这个API报错!

另外向非低功耗蓝牙设备发送数据的场景如何实现?比如我要使用蓝牙便携打印机(非低功耗蓝牙)

最后一次编辑于  2017-04-05  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

11 个回答

  • 追梦的人(IT大叔一枚)
    追梦的人(IT大叔一枚)
    2017-04-05

    要先初始化蓝牙 。

    2017-04-05
    赞同
    回复
  • 邵国宏
    邵国宏
    2017-04-06

    Page({

      onLoad: function () {

        //var that = this;


        wx.openBluetoothAdapter({

          success: function (res) {

            console.log(res)


            wx.getBluetoothAdapterState({

              success: function (res) {

                console.log(res)

              }

            })


            wx.startBluetoothDevicesDiscovery({

              success: function (res) {

                console.log(res)

              }

            })


            wx.getConnectedBluetoothDevices({

              success: function (res) {

                console.log(res)

              }

            })


            wx.getBluetoothDevices({

              //services: ['0019E0A29C02'],

              success: function (res) {

                console.log(res)

                // that.setData({

                //   // BLT_name: res.devices[0].name,

                //   // BLT_deviceId: res.devices[0].deviceId,

                //   // BLT_RSSI: res.devices[0].RSSI

                //   // BLT_advertisData: res.devices[0].advertisData

                // })

              }

            })


          }

        })


      }

    })  


    控制台输出,就wx.getBluetoothDevices报错,其他四个API正常。

    错误代码:cannot read property 'map' of undefined

    2017-04-06
    赞同
    回复
  • 高帅
    高帅
    2017-04-07

    同遇到thirdScriptError       wx.getBluetoothDevices,报错

    2017-04-07
    赞同
    回复
  • 维明
    维明
    2017-04-09

    这个报错是由于发现的蓝牙设备为0的时候导致的。

    如果你发现至少一个设备后,就不会报错了

    2017-04-09
    赞同
    回复
  • 一点零二
    一点零二
    2017-04-09

    怎么解决?

    2017-04-09
    赞同
    回复
  • 陈瑾
    陈瑾
    2017-04-09

    四楼,为啥发现的蓝牙设备为0,我测试的时候,旁边有好几个蓝牙,接口有问题吧

    2017-04-09
    赞同
    回复
  • 邵国宏
    邵国宏
    2017-04-11

    四楼:您说蓝牙设备为0时wx.getBluetoothDevices才报错,感觉不对,手机发现的蓝牙设备有好几个(连接和不连接的),况且wx.getConnectedBluetoothDevices可以取得蓝牙设备一个,这如何解释?还是觉得这个API没做好

    2017-04-11
    赞同
    回复
  • 高帅
    高帅
    2017-04-11

    7楼没错,而且,可以用另了一个方式去获取,就是通过

    wx.onBluetoothDeviceFound(CALLBACK) 来获取,但实际上,手机可以发现蓝牙,但不会进入到这个事件函数中去。

    所以小程序app无法发现蓝牙设备。


    2017-04-11
    赞同
    回复
  • Ryan Wang
    Ryan Wang
    2017-04-14

    有官方人员来解答下么?

    2017-04-14
    赞同
    回复
  • 飞
    2017-04-17

    请官方人员来解答下么?

    2017-04-17
    赞同
    回复