收藏
回答

nfc 功能,NfcA.transceive为什么总是失败?

api:NfcA.transceive

基础库:2.14.2

微信版本:7.0.21

华为手机

能读到卡片的类型,也能连接上卡片,nfcA.connect可以成功,但是transcevie就失败了

错误信息:transceive:fail:system internal error

错误code:13017



const app = getApp()


Page({

  data: {

   

  },

  onLoad: function () {

    const adapter = wx.getNFCAdapter();

    console.log(adapter);

    this.adapter = adapter;



    adapter.onDiscovered(function (res){

      console.log('读到卡片了', res);

      

      //console.log(res.techs);


      if(res.techs.includes(adapter.tech.nfcA)){

        console.log('发现'+adapter.tech.nfcA+'卡'); 

        const nfcA = adapter.getNfcA();

        app.nfcA = nfcA;

        nfcA.connect({

          success: function(res){

            console.log('设备已连接', res)

            nfcA.transceive({

              data:new ArrayBuffer(0),

              success: function(res){

                console.log('发送数据成功, 接收数据如下:', res);

              },

              fail: function(err){

                console.log('发送数据失败', err);

              }

            })

          },

          fail: function(err){

            console.log('设备联接错误', err);

          }

        });


      }


    })


    adapter.startDiscovery({

      success: function(res){

        console.log('成功发现设备',res);

      },

      fail: function(err){

        console.log('发现设备出错', err);

      },

      complete: function(){


      }

    });



  },

  onHide() {

    if (this.nfc) {

      this.nfc.stopDiscovery()

    }

  }

})





回答关注问题邀请回答
收藏

11 个回答

  • Trip
    Trip
    2021-01-12

    大佬解决了吗,我也遇到这个问题了

    2021-01-12
    有用
    回复

正在加载...

登录 后发表内容
问题标签