我试图在我的应用程序中阅读NfcA标记。我的代码如下。我提到here和一些相关的SO问题用于收发命令,但我不断获得android.nfc.TagLostException: Tag was lost.
例外。
我使用三星Galaxy S4进行调试。
是否有可能卡不是有效卡或任何安全防护可能导致例外?
NfcA mifare = NfcA.get(tag); // tag "TAG: Tech [android.nfc.tech.NfcA]"
if (mifare != null){
try {
mifare.connect();
mifare.setTimeout(5000);
if (mifare.isConnected()) {
int firstBlockNum = 0;
int lastBlockNum = 42;
byte[] command = new byte[]{
(byte)0x3A, // FAST_READ
(byte)(firstBlockNum & 0x0ff),
(byte)(lastBlockNum & 0x0ff)
};
byte[] result = mifare.transceive(command);
} catch (IOException e) {
Log.e("Error communicating with card: ", e.toString());
}
}
}