【问题标题】:Can I receive an NDEF_DISCOVERED Intent after writing an empty NDEF Message?写空 NDEF 消息后,我可以收到 NDEF_DISCOVERED Intent 吗?
【发布时间】:2020-12-13 10:35:50
【问题描述】:

我正在 Android 中开发一个关于 NFC 标签的应用程序。当我使用 IsoDep 和 APDU 将空的 NdefMessage 写入 NFC 标签时,我是否会在收到新意图时能够接收 NDEF_DISCOVERED 意图?

目前我只会得到一个 ACTION_TECH 意图,我想知道写入的 APDU 是否错误,或者当写入一个空的 NDEFMESSAGE 时,是否 NDEF_DISCOVERED 是不可能的。

【问题讨论】:

    标签: android nfc iso ndef


    【解决方案1】:

    确实没有空的NdefMessageNdefMessage 这样的东西,实际上只是一个格式正确的NdefRecords 数组

    如果您阅读了 NDef 规范 https://github.com/haldean/ndef/blob/master/docs/NFCForum-TS-NDEF_1.0.pdf

    消息只是一系列 Ndef 记录,第一个记录设置了“消息开始”记录标志,最后一个设置了“消息结束”记录标志。

    如果你查看Android源代码https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/nfc/NdefMessage.java#63

    如果数组中有零条记录,则 NdefMessage 为空。

    因此,您正在向 Tag 写入零字节,Android NFC 系统 App 无法将其识别为非空白 Tag。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多