From 526138394ee77759e98764153b851acfe6c929af Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期一, 11 十二月 2023 16:33:19 +0800
Subject: [PATCH] 添加震动和声音提示

---
 app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java |   78 ++++++++++++++++-----------------------
 1 files changed, 32 insertions(+), 46 deletions(-)

diff --git a/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java b/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java
index 54db2fd..84768de 100644
--- a/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java
@@ -13,10 +13,14 @@
 import android.nfc.NfcAdapter;
 import android.nfc.NfcEvent;
 import android.nfc.Tag;
+import android.nfc.cardemulation.CardEmulation;
+import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
 
 import com.dayu.recharge.card.UserCard;
+import com.dayu.recharge.tools.LoyaltyCardReader;
+import com.dayu.recharge.tools.NFCUtil;
 import com.dayu.recharge.tools.NfcReadHelper;
 import com.dayu.recharge.utils.LogUtil;
 import com.dayu.recharge.utils.TipUtil;
@@ -34,7 +38,7 @@
  * 鍦╫nNewIntent鏂规硶涓墽琛宨ntent浼犻�掕繃鏉ョ殑Tag鏁版嵁
  * 灏哊FC鏍囩鍗¢潬杩戞墜鏈哄悗閮紙NFC鏍囩鍗″彲缃戜笂鑷璐拱锛�
  */
-public class BaseNfcActivity extends BaseActivity {
+public class BaseNfcActivity extends BaseActivity implements LoyaltyCardReader.AccountCallback {
 
     /**
      * 璇ュ崱宸插啓鍏ョ敤鎴蜂俊鎭�
@@ -51,40 +55,34 @@
 
     public final static int ERROR = -1;
 
-    protected NfcAdapter mNfcAdapter;
-    private PendingIntent mPendingIntent;
+//    protected NfcAdapter mNfcAdapter;
+//    private PendingIntent mPendingIntent;
 
     volatile UserCard userCard;
     Handler handler;
+
+    public LoyaltyCardReader mLoyaltyCardReader;
+
+    NFCUtil nfcUtil;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        nfcUtil = NFCUtil.getInstance();
+        nfcUtil.setAccountCallback(this);
+    }
 
     /**
      * onCreat->onStart->onResume->onPause->onStop->onDestroy
      * 鍚姩Activity锛岀晫闈㈠彲瑙佹椂.
      */
+
+
     @Override
     protected void onStart() {
         super.onStart();
         //姝ゅadapter闇�瑕侀噸鏂拌幏鍙栵紝鍚﹀垯鏃犳硶鑾峰彇message
-        mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
-        if (mNfcAdapter != null){
-            mNfcAdapter.setNdefPushMessageCallback(new NfcAdapter.CreateNdefMessageCallback() {
-                @Override
-                public NdefMessage createNdefMessage(NfcEvent nfcEvent) {
-                    // 鍦ㄦ澶勫鐞哊FC娑堟伅鐨勫垱寤�
-                    return null;
-                }
-            }, this);
-
-        }
-//            mNfcAdapter.enableReaderMode(this, new NfcAdapter.ReaderCallback() {
-//                @Override
-//                public void onTagDiscovered(Tag tag) {
-//                    LogUtil.e(tag.toString());
-//                }
-//            }, NfcAdapter.FLAG_READER_NFC_A | NfcAdapter.FLAG_READER_SKIP_NDEF_CHECK, null);
-
-        //涓�鏃︽埅鑾種FC娑堟伅锛屽氨浼氶�氳繃PendingIntent璋冪敤绐楀彛
-        mPendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()), 0);
+        nfcUtil.onStartNfcAdapter(this);
 
     }
 
@@ -94,12 +92,7 @@
     @Override
     public void onResume() {
         super.onResume();
-        if (!ifNFCUse(this)) {
-            this.finish();
-        }
-        //璁剧疆澶勭悊浼樹簬鎵�鏈夊叾浠朜FC鐨勫鐞�
-        if (mNfcAdapter != null)
-            mNfcAdapter.enableForegroundDispatch(this, mPendingIntent, null, null);
+        nfcUtil.onResumeNfcAdapter(this);
     }
 
     /**
@@ -109,24 +102,17 @@
     public void onPause() {
         super.onPause();
         //鎭㈠榛樿鐘舵��
-        if (mNfcAdapter != null)
-            mNfcAdapter.disableForegroundDispatch(this);
+        nfcUtil.onPauseNfcAdapter(this);
     }
 
-    /**
-     * 妫�娴嬪伐浣�,鍒ゆ柇璁惧鐨凬FC鏀寔鎯呭喌
-     *
-     * @return
-     */
-    protected Boolean ifNFCUse(Activity context) {
-        if (mNfcAdapter == null) {
-            TipUtil.show(context, "璁惧涓嶆敮鎸丯FC锛�");
-            return false;
-        }
-        if (mNfcAdapter != null && !mNfcAdapter.isEnabled()) {
-            TipUtil.show(context, "璇峰湪绯荤粺璁剧疆涓厛鍚敤NFC鍔熻兘锛�");
-            return false;
-        }
-        return true;
+
+    @Override
+    public void physicalCardDoing(Tag tag) {
+
+    }
+
+    @Override
+    public void virtualCardDoing(Tag tag) {
+
     }
 }

--
Gitblit v1.8.0