java - 将 NFC 数据编码为 Ndef 有什么好处?

标签 java android nfc ndef

我并不是在一般性地询问 Ndef - 显然我们需要某种格式来进行数据交换。

我正在开发一个必须读取非 Ndef(特别是 Mifare Classic)和 Ndef NFC 芯片的应用程序。 我已经将读取两者的例程分开,并且还管理了检测部分:

Tag tag = intent.getParcelableExtra( NfcAdapter.EXTRA_TAG );
String[] techList = tag.getTechList();

for ( String tech : techList ) {
    if ( MifareClassic.class.getName().equals( tech ) ) {
        String uid = byte2HexString( tag.getId() );
        // TODO
    } else if ( Ndef.class.getName().equals( tech ) ) {
        return this.readNdef( intent );
    }
}

但我不确定的是抽象部分 - 我是否应该真正尝试将数据从非 Ndef (MC) 芯片编码到 Ndef (如果可能的话),或者应该我只是完全分离这些抽象层?将数据编码为 Ndef 有什么优势吗?

最佳答案

使用 NDEF 格式数据的优点是在不同系统之间更易于移植。符合 NDEF 标准的数据不仅适用于 Android,还适用于 Windows8 或 Blackberry 设备(带 NFC)。

Mifare Classic 芯片不属于 NFC 规范,因此仅适用于配备 NXP 协议(protocol)软件的手机,但在这些手机上,您可以轻松地将 NDEF 格式的数据存储到 Mifare Classic 芯片中.

要做的决定更多的是特定设备是否支持 Mifare Classic 芯片,而不是您是否要使用 NDEF。

关于java - 将 NFC 数据编码为 Ndef 有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17588639/

相关文章:

java - 无法从 py4j 中的 Python 启动网关

php - 电话可以用来传播本地主机的使用吗?

android - 如何通过两个不同的链接创建 Firebase 动态链接?

nfc - 在 ACR122U NFC 阅读器上强制 PC/SC 驱动程序

java - 即使类已序列化,Blob 对象也无法正常工作

java - 确定文件是否以 EOF 字符正确结束

android - 如何通过扫描NDEF NFC标签启动应用程序?

java - SEservice中Executor的使用方法(Open Mobile API for Android 9.0)

java - 您的 PreferenceActivity 实现容易受到 fragment 注入(inject)的影响

android - 在android中监听键盘显示或隐藏事件