1

我想在 javascript/Android 下使用 NFC 阅读器读取 RFID 标签的 UID。

UID 由制造商设置,因此您无法复制 RFID 卡。

navigator.nfc用来读取 NFC 信息,但是当我点击 RFID 卡时,生成的名为 message 的对象有一个名为 records 的数组,其中只有一个成员:message.records[0]

里面message.records[0]有 3 个字段:data = null, mediaType = empty string, recordType = "empty".

UID在哪里?

当我使用 TagInfo 应用程序时,我会获得有关 RFID 卡的所有信息,包括协议信息中的 UID。所以NFC阅读器能够得到它们。为什么不navigator.nfc呢?

function readWriteNfc() {
  if ('nfc' in navigator) {
    navigator.nfc.watch(function (message) {
        consoleLog("NFC message received from URL " + message);

        //now message.records[0].data is null...


      }, {mode: 'any'})
      .then(() => consoleLog("Added a watch."))
      .catch(err => consoleLog("Adding watch failed: " + err.name));
  } else {
    consoleLog('NFC API not supported.');
  }
}
4

1 回答 1

0

根据您使用的事实navigator.nfc.watch(),我假设您尝试使用Web NFC API,或者更确切地说是它以前的版本之一。

Web NFC API 仅限于 NFC 论坛标签上的 NDEF 消息。您无法访问 NDEF 抽象层以下的任何协议参数。因此,目前无法使用该 API 读取标签的 UID。

于 2019-05-03T12:16:01.180 回答