From 1bc1acff2127d61b359800096ad5b904370d9176 Mon Sep 17 00:00:00 2001
From: zuojincheng <lf_zuo@163.com>
Date: 星期三, 26 三月 2025 09:25:47 +0800
Subject: [PATCH] refactor(nfc): 重构 NFC 读写助手类

---
 baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NativeNfcWriteHelper.java |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NativeNfcWriteHelper.java b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NativeNfcWriteHelper.java
index 525b5aa..612e0b6 100644
--- a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NativeNfcWriteHelper.java
+++ b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NativeNfcWriteHelper.java
@@ -24,6 +24,9 @@
     private static NativeNfcWriteHelper helper;
 
     public NativeNfcWriteHelper(Intent intent, Activity activity) {
+    }
+
+    public void setIntent(Intent intent) {
         this.tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
     }
 
@@ -37,6 +40,7 @@
         if (helper == null) {
             helper = new NativeNfcWriteHelper(intent, activity);
         }
+        helper.setIntent(intent);
         return helper;
     }
 
@@ -48,9 +52,9 @@
      * @param
      */
     @Override
-    public boolean writeUserData(BaseUserCardCard userCard) {
+    public boolean writeUserData(BaseUserCardCard userCard, int sector) {
         if (userCard != null) {
-            int a = 1;
+            int a = sector;
             try {
                 MifareClassic mfc = MifareClassic.get(tag);
                 if (null != mfc) {
@@ -122,7 +126,7 @@
     @Override
     public boolean writeData(byte[] str, int a, int b, NFCCallBack callBack) {
         Log.i("NFCWreatActivity", "writeData: a=" + a + " b=" + b);
-        if (str.length <= 16) {
+        if (str.length == 16) {
             try {
                 MifareClassic mfc = MifareClassic.get(tag);
                 if (null != mfc) {
@@ -169,8 +173,6 @@
                                 }
                             }
                         }
-
-
                         if (isOpen) {
                             int bIndex = mfc.sectorToBlock(a);
                             //鍐欏崱
@@ -225,8 +227,11 @@
                 }
             } catch (Exception e) {
                 e.printStackTrace();
+                callBack.isSusses(false, a + "鎵囧尯鍐欏崱鎶ラ敊" + e.getMessage());
                 return false;
             }
+        } else {
+            callBack.isSusses(false, a + "鎵囧尯鍐欏崱鎶ラ敊锛宐yte鏁扮粍澶у皬涓嶄负16");
         }
         return false;
     }

--
Gitblit v1.8.0