From f5180b600511d1871635bd364beb5bdd15f6ae88 Mon Sep 17 00:00:00 2001
From: zuojincheng <lf_zuo@163.com>
Date: 星期三, 26 三月 2025 18:05:07 +0800
Subject: [PATCH] feat(nfc): 优化 NFC写卡功能并添加新方法- 在 BaseNfcWriteHelper 中添加了新的 writeData 方法,增加了 isConnect 参数 - 优化了 NativeNfcWriteHelper 中的 writeData 实现,支持选择性连接 NFC - 更新了 NfcWriteAdapter,支持新的 writeData 方法- 修改了 NfcWreatHelper 中的 writeData 方法,使用新的接口 - 优化了 NfcWreatActivity 中的写卡逻辑

---
 qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/card/ManageCard.java |   24 ++++++++++++++----------
 1 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/card/ManageCard.java b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/card/ManageCard.java
index 6ce82f5..04ba3e4 100644
--- a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/card/ManageCard.java
+++ b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/card/ManageCard.java
@@ -55,16 +55,20 @@
     public static ManageCard getBean(List<byte[]> data) {
 
         if (data != null) {
-            ManageCard manageCard = new ManageCard();
-            byte[] zero = data.get(0);
-            byte[] arerNumberByte = new byte[4];
-            System.arraycopy(zero, 1, arerNumberByte, 0, arerNumberByte.length);
-            manageCard.arerNumber = HexUtil.get16To10LowHightByBytes(arerNumberByte);
-            byte[] passWordByte = new byte[4];
-            System.arraycopy(zero, 5, passWordByte, 0, passWordByte.length);
-            manageCard.setUserCard(HexUtil.bytesToHex(passWordByte));
-            manageCard.setCardWriteState(zero[13]);
-            return manageCard;
+            try {
+                ManageCard manageCard = new ManageCard();
+                byte[] zero = data.get(0);
+                byte[] arerNumberByte = new byte[4];
+                System.arraycopy(zero, 1, arerNumberByte, 0, arerNumberByte.length);
+                manageCard.arerNumber = HexUtil.get16To10LowHightByBytes(arerNumberByte);
+                byte[] passWordByte = new byte[4];
+                System.arraycopy(zero, 5, passWordByte, 0, passWordByte.length);
+                manageCard.setUserCard(HexUtil.bytesToHex(passWordByte));
+                manageCard.setCardWriteState(zero[13]);
+                return manageCard;
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
         }
         return null;
     }

--
Gitblit v1.8.0