From 3502384043c282226c0dbc90a191806e007f1d17 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 15 十一月 2023 16:09:09 +0800
Subject: [PATCH] 添加nfc读取连接中断的处理

---
 app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java |   43 +++++++++++++++++--------------------------
 1 files changed, 17 insertions(+), 26 deletions(-)

diff --git a/app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java b/app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java
index 0ee6259..5e3b08d 100644
--- a/app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java
+++ b/app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java
@@ -5,6 +5,8 @@
 import android.nfc.Tag;
 import android.nfc.tech.MifareClassic;
 
+import com.dayu.recharge.utils.MyCommon;
+
 import java.io.IOException;
 import java.util.ArrayList;
 
@@ -42,22 +44,6 @@
         }
         return helper;
     }
-
-    /**
-     * 璁剧疆NFC鍗$殑瀵嗙爜
-     *
-     * @param str
-     * @return
-     */
-//    public NfcReadHelper setPassword(String str) {
-//
-//        if (null != str && (str.length() <= 6)) {
-//            for (int i = 0; i < str.length(); i++) {
-//                bytes[i] = (byte) str.charAt(i);
-//            }
-//        }
-//        return helper;
-//    }
 
     /**
      * 璇诲彇NFC鍗$殑鍏ㄩ儴淇℃伅
@@ -108,15 +94,18 @@
                         if (flag) {
                             callback.callBack(map);
                         } else {
-                            callback.error();
+                            callback.error(MyCommon.ERROR);
                         }
+                    } catch (IOException e) {
+                        callback.error(MyCommon.ERROR_MOVE);
+                        e.printStackTrace();
                     } catch (Exception e) {
-                        callback.error();
+                        callback.error(MyCommon.ERROR);
                         e.printStackTrace();
                     } finally {
                         try {
                             mfc.close();
-                        } catch (IOException e) {
+                        } catch (Exception e) {
                             e.printStackTrace();
                         }
                     }
@@ -143,12 +132,12 @@
                         mfc.connect();
                         int count = mfc.getSectorCount();
                         if (a < 0 || a > count - 1) {
-                            callback.error();
+                            callback.error(MyCommon.ERROR);
                             return;
                         }
                         int bCount = mfc.getBlockCountInSector(a);
                         if (b < 0 || b > bCount - 1) {
-                            callback.error();
+                            callback.error(MyCommon.ERROR);
                             return;
                         }
 
@@ -174,11 +163,13 @@
                             byte[] data = mfc.readBlock(bIndex + b);
                             callback.callBack(data);
                         } else {
-                            callback.error();
+                            callback.error(MyCommon.ERROR);
                         }
-                    } catch (Exception e) {
-                        callback.error();
+                    } catch (IOException e) {
+                        callback.error(MyCommon.ERROR_MOVE);
                         e.printStackTrace();
+                    } catch (Exception e) {
+                        callback.error(MyCommon.ERROR);
                     } finally {
                         try {
                             mfc.close();
@@ -203,7 +194,7 @@
         void callBack(Map<String, List<byte[]>> data);
 
 
-        void error();
+        void error(int code);
     }
 
     public interface NFCCallByteback {
@@ -215,7 +206,7 @@
 
         void callBack(byte[] data);
 
-        void error();
+        void error(int code);
     }
 
 }

--
Gitblit v1.8.0