微信硬件onScanWXDeviceResult事件Android手机无法获取
发布于 6 年前 作者 qzhao 8175 次浏览 来自 问答



使用微信扫描设备二维码的方式在ios和Android的手机上都可以搜索到微信设备,

但是在微信公众号的H5页面中,调用startScanWXDevice 对wifi设备进行搜索,用onScanWXDeviceResult对扫描到的wifi设备进行监听,ios的手机能够监听到扫描的设备,但是Android的手机怎么也监听不到搜索的设备。硬件设备使用的是airkiss2.0.求高手进行指点。不胜感激。

配置如下:

微信jsapi config配置

Vue.wechat.config({
          debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
          appId: sessionStorage.getItem('AppId'), // 必填,公众号的唯一标识
          timestamp: data.data.data.timestamp, // 必填,生成签名的时间戳
          nonceStr: data.data.data.nonceStr, // 必填,生成签名的随机串
          signature: data.data.data.signature, // 必填,签名,见附录1
          beta: true,
          jsApiList:['scanQRCode', 'openWXDeviceLib', 'getWXDeviceTicket', 'configWXDeviceWiFi', 'startScanWXDevice', 'closeWXDeviceLib', 'stopScanWXDevice', 'getWXDeviceInfos','onWXDeviceBindStateChange','onScanWXDeviceResult'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
        })

        Vue.wechat.ready(function () {

          Vue.wechat.checkJsApi({
            jsApiList: ['scanQRCode', 'openWXDeviceLib', 'getWXDeviceTicket', 'configWXDeviceWiFi', 'startScanWXDevice', 'closeWXDeviceLib', 'stopScanWXDevice', 'getWXDeviceInfos', 'onWXDeviceBindStateChange', 'onScanWXDeviceResult'], // 需要检测的JS接口列表,所有JS接口列表见附录2,
            success: function (res) {
              console.log(res);
            }
          });

          //初始化设备库
          Vue.wechat.invoke('openWXDeviceLib', {
            'connType': 'lan'
          }, function (res) {
            console.log('openWXDeviceLib', res);
          });




  • 硬件设备的扫描

Vue.wechat.invoke('startScanWXDevice', { 'connType': 'lan' }, function(res) {

         // alert('startScanWXDevice', res);

         console.log(res)

     });



  • 扫描结果的监听

     Vue.wechat.on('onScanWXDeviceResult', function(res) {

         console.log(res)

         self.list.push(res.devices[0].deviceId)

         if (res.isCompleted == "1") {

             self.listEnd = true;

         }

     })

回到顶部