From 12fb3fb97f135bbd78b31a06f8451f9b42a2ed6f Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期一, 26 八月 2024 14:23:24 +0800 Subject: [PATCH] 无网络添加提示 --- qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/tools/NFCWriteHelper.java | 27 ++++++++++++++++++++++----- 1 files changed, 22 insertions(+), 5 deletions(-) diff --git a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/tools/NFCWriteHelper.java b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/tools/NFCWriteHelper.java index 3517fcb..5ce38e4 100644 --- a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/tools/NFCWriteHelper.java +++ b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/tools/NFCWriteHelper.java @@ -11,6 +11,8 @@ import com.dayu.qiheonlinelibrary.card.UserCard; import java.io.IOException; +import java.util.ArrayList; +import java.util.List; /** * @author zx @@ -70,6 +72,7 @@ int a = 1; try { MifareClassic mfc = MifareClassic.get(tag); + List<byte[]> list = new ArrayList<>(); if (null != mfc) { try { //杩炴帴NFC @@ -96,7 +99,22 @@ //鍐欏崱 mfc.writeBlock(bIndex + b, data); } - return true; + int bIndex = mfc.sectorToBlock(1); + for (int j = 0; j < 3; j++) { + //璇诲彇鏁版嵁 + byte[] data = null; + try { + data = mfc.readBlock(bIndex); + bIndex++; + list.add(data); + } catch (Exception e) { + e.printStackTrace(); + } + } + if (userCard.equlsUserCard(list)) { + return true; + } + return false; } return false; } catch (Exception e) { @@ -262,13 +280,13 @@ boolean isOpen = mfc.authenticateSectorWithKeyA(sector, defauleKey); if (!isOpen) { isOpen = mfc.authenticateSectorWithKeyA(sector, companyKey2); - if (isOpen){ + if (isOpen) { mfc.authenticateSectorWithKeyB(sector, companyKey2); } } if (!isOpen) { isOpen = mfc.authenticateSectorWithKeyA(sector, companyKey); - if (isOpen){ + if (isOpen) { mfc.authenticateSectorWithKeyB(sector, companyKey); } } @@ -276,7 +294,7 @@ //鑾峰彇鍐欑殑鎵囧尯鐨勫潡鐨勬暟閲� int blockCount = mfc.getBlockCountInSector(sector); int blockIndex = mfc.sectorToBlock(sector); - for (int block = 0; block < blockCount ; block++) { + for (int block = 0; block < blockCount; block++) { // 璺宠繃绗� 0 鎵囧尯鐨勭 0 鍧� if (sector == 0 && block == 0) { blockIndex++; @@ -289,7 +307,6 @@ mfc.writeBlock(blockIndex, initDataBytes); } //鍐欏崱 - blockIndex++; } } -- Gitblit v1.8.0