From 4ceacd9e21e09989287e8dc4e526d182091af282 Mon Sep 17 00:00:00 2001 From: zuoxiao <lf_zuo@163.com> Date: 星期四, 26 六月 2025 13:39:52 +0800 Subject: [PATCH] feat(nfc): 优化 NFC卡片处理流程 --- baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NativeNfcWriteHelper.java | 31 ++++++++++++++++++++++++++++--- 1 files changed, 28 insertions(+), 3 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 f03959a..30068ec 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 @@ -356,10 +356,35 @@ } try { - // 杩炴帴NFC - if (isConnect) { - mfc.connect(); + // 杩炴帴NFC - 纭繚鎬绘槸寤虹珛杩炴帴锛屽鍔犻噸璇曟満鍒� + int retryCount = 3; + boolean connected = false; + while (retryCount > 0 && !connected) { + try { + if (!mfc.isConnected()) { + mfc.connect(); + } + connected = mfc.isConnected(); + if (!connected) { + Thread.sleep(100); // 鐭殏绛夊緟鍚庨噸璇� + retryCount--; + } + } catch (Exception e) { + retryCount--; + if (retryCount <= 0) { + throw e; + } + Thread.sleep(100); + } } + + if (!connected) { + if (callBack != null) { + callBack.isSusses(false, "NFC杩炴帴澶辫触锛岃閲嶆柊闈犺繎鍗$墖"); + } + return false; + } + for (int i = 0; i < passWord.size(); i++) { byte[] passWordItem = passWord.get(i); // 楠岃瘉鎵囧尯瀵嗙爜 -- Gitblit v1.8.0