我并不是在一般性地询问 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/