Android手机无法获取到扫描wifi事件的回调信息
发布于 6 年前 作者 tshen 10280 次浏览 来自 问答

微信硬件信息授权完成,微信jsapi配置完成后,在微信公众号的H5页面中调用调用startScanWXDevice 对wifi设备进行搜索,用onScanWXDeviceResult对扫描到的wifi设备进行监听,ios的手机能够监听到扫描的设备,但是Android的手机怎么也监听不到搜索的设备。求高手进行指点。不胜感激。

配置如下:

微信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;

          }

      })

回到顶部