From 2b02b6e854a56a511588e4865ddf2c6597675329 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期一, 16 六月 2025 16:04:54 +0800 Subject: [PATCH] feat(nfc): 添加读卡功能并优化写卡流程 --- baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java | 68 ++++++++++++++++++++++++++------- 1 files changed, 53 insertions(+), 15 deletions(-) diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java index fcbae8b..e3d8fbd 100644 --- a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java +++ b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java @@ -3,10 +3,14 @@ import android.app.Activity; import android.content.Intent; +import androidx.annotation.NonNull; + import com.dayu.baselibrary.activity.BaseNfcActivity; import com.dayu.baselibrary.bean.BaseUserCardCard; +import com.dayu.baselibrary.utils.ModelUtils; -import java.util.Collections; +import org.jetbrains.annotations.NotNull; + import java.util.List; /** @@ -19,10 +23,15 @@ NativeNfcReadHelper nativeNfcReadHelper; + @Override + public void setIntent(Intent intent) { + nativeNfcReadHelper.setIntent(intent); + } + public NfcReadAdapter(Intent intent, Activity activity) { switch (BaseNfcActivity.adapterType) { - case NfcCommonData.defaultType: - nativeNfcReadHelper = new NativeNfcReadHelper(intent, activity); + case ModelUtils.defaultType: + nativeNfcReadHelper = NativeNfcReadHelper.getInstence(intent, activity); break; } @@ -31,7 +40,7 @@ @Override public String getCradType() { switch (BaseNfcActivity.adapterType) { - case NfcCommonData.defaultType: + case ModelUtils.defaultType: return nativeNfcReadHelper.getCradType(); } @@ -41,7 +50,7 @@ @Override public void getAllData(NFCCallMapback callback) { switch (BaseNfcActivity.adapterType) { - case NfcCommonData.defaultType: + case ModelUtils.defaultType: nativeNfcReadHelper.getAllData(callback); break; @@ -51,7 +60,7 @@ @Override public void getOneSectorData(NFCCallListback callback) { switch (BaseNfcActivity.adapterType) { - case NfcCommonData.defaultType: + case ModelUtils.defaultType: nativeNfcReadHelper.getOneSectorData(callback); break; @@ -60,22 +69,42 @@ @Override public String getCardNumber() { + return getCardNumber(false); + } + + + public String getCardNumber(boolean isChangePS) { switch (BaseNfcActivity.adapterType) { - case NfcCommonData.defaultType: + case ModelUtils.defaultType: return nativeNfcReadHelper.getCardNumber(); + } + return ""; + } + public String getCardNumberNoClose() { + switch (BaseNfcActivity.adapterType) { + case ModelUtils.defaultType: + return nativeNfcReadHelper.getCardNumberNoClose(); + } + return ""; + } + + + @Override + public String getCradTypeAndCardNumber() { + switch (BaseNfcActivity.adapterType) { + case ModelUtils.defaultType: + return nativeNfcReadHelper.getCradTypeAndCardNumber(); } return ""; } @Override - public String getCradTypeAndCardNumber() { + public String getCradTypeAndCardNumber(int sectorIndex, int blockIndex, int cardTypeIndex) { switch (BaseNfcActivity.adapterType) { - case NfcCommonData.defaultType: - return nativeNfcReadHelper.getCradTypeAndCardNumber(); - - + case ModelUtils.defaultType: + return nativeNfcReadHelper.getCradTypeAndCardNumber(sectorIndex, blockIndex, cardTypeIndex); } return ""; } @@ -83,7 +112,7 @@ @Override public void getData(int a, int b, NFCCallByteback callback) { switch (BaseNfcActivity.adapterType) { - case NfcCommonData.defaultType: + case ModelUtils.defaultType: nativeNfcReadHelper.getData(a, b, callback); break; } @@ -92,7 +121,7 @@ @Override public List<byte[]> getOnesectorData() { switch (BaseNfcActivity.adapterType) { - case NfcCommonData.defaultType: + case ModelUtils.defaultType: return nativeNfcReadHelper.getOnesectorData(); @@ -103,9 +132,18 @@ @Override public BaseUserCardCard getUserCardData(BaseUserCardCard userCardCard) { switch (BaseNfcActivity.adapterType) { - case NfcCommonData.defaultType: + case ModelUtils.defaultType: return nativeNfcReadHelper.getUserCardData(userCardCard); } return null; } + + @Override + public BaseUserCardCard getUserCardData(int sectorIndex, BaseUserCardCard userCardCard) { + switch (BaseNfcActivity.adapterType) { + case ModelUtils.defaultType: + return nativeNfcReadHelper.getUserCardData(sectorIndex, userCardCard); + } + return null; + } } -- Gitblit v1.8.0