问题描述:在Android设备上,使用NFC恢复和传递Mifare Classic标签时出现问题。
解决方案:
Mifare Classic标签被认为可能具有安全漏洞,已被广泛的研究,并因此在很多NFC读写器上被禁用。因此,许多Android设备上的NFC标准库中也禁用了对Mifare Classic标签的部分或全部访问。
在您的Android应用程序中,如果您想继续使用Mifare Classic标签,则需要使用特殊的nfc库。这个库称为Mifare SDK ,可以从NXP公司下载。
一旦你下载并导入了库,你就可以使用以下的代码块模板进行读写操作:
// Import the required MIFARE libraries
import com.nxp.nfclib.*
import com.nxp.nfclib.card.*
import com.nxp.nfclib.interfaces.*
import com.nxp.nfclib.utils.*
// Initialize main objects
// initialize reader
private val mReader = MifareClassic()
// initialize connect
private val mConnect = ReaderFactory.getInstance().newConnect()
// set AID for application
var aid: ByteArray = byteArrayOf(0x00, 0x00, 0x00, 0x01)
// Initialise reader and connect to tag
mReader.connect()
mConnect.reader = mReader
// Set auth keys and write data
mConnect.authenticate();
mConnect.write();
请注意,上述代码是一个基本示例,您需要根据您的特定应用程序和标签读写需求进行必要更改。