From 8e3719a37a6be0c9e244a0160b5f2f3331ca3122 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期四, 30 十一月 2023 15:11:38 +0800
Subject: [PATCH] 支持虚拟卡读取

---
 app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java |   31 ++++++++++++++++++++++++-------
 1 files changed, 24 insertions(+), 7 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 650415d..5b9747f 100644
--- a/app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java
+++ b/app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java
@@ -24,13 +24,13 @@
  */
 public class NfcReadHelper extends BaseNFCHelper {
 
-    private Tag tag;
+    private Tag mTag;
     //    private NFCCallback callback;
     private static NfcReadHelper helper;
 
 
     public NfcReadHelper(Intent intent) {
-        this.tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
+        this.mTag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
 
     }
 
@@ -48,6 +48,23 @@
     }
 
     /**
+     * 鍗曚緥鍒濆鍖�
+     *
+     * @param intent
+     * @return
+     */
+    public static NfcReadHelper getInstence(Tag tag) {
+        if (helper == null) {
+            helper = new NfcReadHelper(tag);
+        }
+        return helper;
+    }
+
+    public NfcReadHelper(Tag tag) {
+        mTag = tag;
+    }
+
+    /**
      * 鑾峰彇鐢ㄦ埛鍗′俊鎭�
      *
      * @return
@@ -55,7 +72,7 @@
     public UserCard getUserCardData() {
         UserCard userCard = null;
         Map<String, List<byte[]>> map = new HashMap<>();
-        MifareClassic mfc = MifareClassic.get(tag);
+        MifareClassic mfc = MifareClassic.get(mTag);
         if (null != mfc) {
             try {
                 //閾炬帴NFC
@@ -113,7 +130,7 @@
 
     public String getCradType() {
 
-        MifareClassic mfc = MifareClassic.get(tag);
+        MifareClassic mfc = MifareClassic.get(mTag);
         if (null != mfc) {
             try {
                 mfc.connect();
@@ -154,7 +171,7 @@
      */
     public void getAllData(final NFCCallMapback callback) {
         Map<String, List<byte[]>> map = new HashMap<>();
-        MifareClassic mfc = MifareClassic.get(tag);
+        MifareClassic mfc = MifareClassic.get(mTag);
         if (null != mfc) {
             try {
                 //閾炬帴NFC
@@ -225,7 +242,7 @@
 
         MifareClassic mfc = null;
         try {
-            mfc = MifareClassic.get(tag);
+            mfc = MifareClassic.get(mTag);
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -295,7 +312,7 @@
             @Override
             public void run() {
                 Map<String, List<String>> map = new HashMap<>();
-                MifareClassic mfc = MifareClassic.get(tag);
+                MifareClassic mfc = MifareClassic.get(mTag);
                 if (null != mfc) {
                     try {
                         mfc.connect();

--
Gitblit v1.8.0