我如何通过NFC扫描与Flutter/Android相同的Uid像我扫描与iOS?

ehxuflar  于 2022-11-03  发布在  Android
关注(0)|答案(1)|浏览(201)

当我用iOS应用程序扫描NFC标签时,我得到了以下结果:
72835 c80型
我想这是Uid。
现在我用Flutter和NFC管理器包编程一个Android的NFC阅读器。现在当我扫描相同的NFC标签时,我得到以下信息:
{nfca:{标识符:[4、234、27、114、131、92、128],atqa:[68,0],最大收发长度:253,sak:0,超时:618},米法尔超轻:{标识符:[4、234、27、114、131、92、128],最大收发器长度:253,超时:618,类型:2},新定义:{标识符:[4、234、27、114、131、92、128],可写入:true,最大大小:492,可以设为只读:true,缓存消息:空,类型:组织. nfcforum. ndef. type 2}}
我在flutter中使用了以下代码:

void _tagRead() {
    NfcManager.instance.startSession(onDiscovered: (NfcTag tag) async {
      var mytag = tag.data;
      result.value = tag.data ;
      NfcManager.instance.stopSession();
   });
  }

我尝试以不同的方式解析标识符,但我没有得到相同的结果如何从iOS.
有人知道怎么走吗?

00jrzges

00jrzges1#

void _tagRead() {
    NfcManager.instance.startSession(onDiscovered: (NfcTag tag) async {
    var mytag = tag.data;
    result.value = tag.data ;
    NfcManager.instance.stopSession();
  });
 }

更改为

void _tagRead() {
    NfcManager.instance.startSession(onDiscovered: (NfcTag tag) async {
    var mytag = tag.data["mifareultralight"]["identifier"].map((e) => e.toRadixString(16).padLeft(2, '0')).join(''); ;

    result.value = mytag ;

    NfcManager.instance.stopSession();
  });
}

我拿到了04ea1b72835c80

相关问题