gpt4 book ai didi

android - 使用 React Native 读取 NFC 标签类型 "android.nfc.tech.NfcV"和 "android.nfc.tech.NdefFormatable"

转载 作者:行者123 更新时间:2023-11-29 00:56:48 25 4
gpt4 key购买 nike

我正在尝试使用 NFC 从血糖仪读取数据,目前在 Android 上,还没有尝试过 iOS(没有带 NFC 的手机)。

我正在使用 react-native-nfc-manager 作为库和它附带的示例: https://github.com/whitedogg13/react-native-nfc-manager

我收到这个标签:

{ "techTypes":["android.nfc.tech.NfcV","android.nfc.tech.NdefFormatable"], "id":"87C5280D002602E0"}

我可以看到 NfcV 包含在该库中,但我该如何读取它的类型?

我正在按照示例进行操作,因此我没有在我的 list 或我的 build.gradle 中设置任何内容。我已经链接它并且它正在工作,但我似乎错过了最后一部分。

按照这个例子,看起来我应该使用这样的方法:

_parseText = (tag) => {
try {
if (Ndef.isType(tag.ndefMessage[0], Ndef.TNF_WELL_KNOWN, Ndef.RTD_TEXT)) {
return Ndef.text.decodePayload(tag.ndefMessage[0].payload);
}
} catch (e) {
console.log(e);
}
return null;
}

但是我的标签没有ndefMessage[0]

最佳答案

由于您的标签在其 techTypes 列表中不包含 Ndef,因此它不包含 NDEF 消息。因此,您将无法阅读任何此类消息。由于您的“标签”是血糖仪,我认为它甚至不会包含 NDEF 消息。

相反,您必须找出血糖仪实际支持的命令(可能支持 ISO/IEC 15693 READ SINGLE BLOCK 命令(参见 here)。为了发送此类低级命令,您需要通过请求标签技术来使用 Generic NfcTech API:

NfcManager.requestTechnology(NfcTech.NfcV)

然后您可以使用收发方法来交换任意命令:

NfcManager.transceive(...)

关于android - 使用 React Native 读取 NFC 标签类型 "android.nfc.tech.NfcV"和 "android.nfc.tech.NdefFormatable",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54148893/

25 4 0