我一般不会询问 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 有什么好处吗?