1

使用https://github.com/whitedogg13/react-native-nfc-manager -> 使用此插件创建反应原生 NFC 读/写应用程序 。但是在将 NDEF 记录写入标记后,我无法写入锁。

try{
await NfcManager.writeNdefMessage(bytes)
        .then(()=>NfcManager.makeReadOnlyAndroid())//Write_lock android
        .then((result)=>{
          console.log("Make read Only result:->",result);
        });
}
catch (ex) {
      console.warn('exception', ex);
      _cleanUp();
     
    }

NDEF 记录写入成功,但写入锁失败。下面给出的是使用的标签信息。

{
   "canMakeReadOnly":false,
   "id":"043743CE80",
   "isWritable":true,
   "maxSize":254,
   "ndefMessage":[],
   "techTypes":[
      "android.nfc.tech.IsoDep",
      "android.nfc.tech.NfcA",
      "android.nfc.tech.Ndef"
   ],
   "type":"NFC Forum Type 4"
}

相同的标签可使用 NXP “TagWritter” android 移动应用程序写入锁定。

他们是否有任何方式使用 transceive() 方法来锁定/更改特定的“锁定位”或启动一些用于 NFC 写锁定的自定义命令。

4

1 回答 1

0

你确定这是使用这个库制作ReadOnly 的正确方法吗?参见https://github.com/whitedogg13/react-native-nfc-manager/issues/66示例

是的,您应该能够将ISOUpdateBinary命令直接发送到 Capability Container (CC) 文件以写入此标准文件。

芯片数据表中的详细信息https://www.nxp.com/docs/en/data-sheet/NT4H2421Gx.pdf NFC 类型 4 规范中的更多详细信息http://apps4android.org/nfc-specifications/ NFCForum-TS-Type-4-Tag_2.0.pdf

但是,当您可以调用https://developer.android.com/reference/android/nfc/tech/Ndef#makeReadOnly()的本机方法时,工作量很大

(这就是图书馆正在做的事情)

于 2020-09-22T09:24:13.973 回答