From f0de01d017c0ce0a4954dd1215449ceea05af29b Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期二, 10 九月 2024 14:13:52 +0800
Subject: [PATCH] 添加混淆,修复因权限问题的bug

---
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/BaseNfcActivity.java |  107 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 107 insertions(+), 0 deletions(-)

diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/BaseNfcActivity.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/BaseNfcActivity.java
new file mode 100644
index 0000000..abdffbc
--- /dev/null
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/BaseNfcActivity.java
@@ -0,0 +1,107 @@
+package com.dayu.qihealonelibrary.activity;
+import android.app.Activity;
+import android.app.PendingIntent;
+import android.content.Intent;
+import android.nfc.NfcAdapter;
+import android.os.Handler;
+
+import com.dayu.baselibrary.utils.TipUtil;
+import com.dayu.qihealonelibrary.card.UserCard;
+
+
+/**
+ * Author:Createdby zuo on 2018/12/2.
+ * Email:584182977@qq.com
+ * Description:
+ * 瀛愮被鍦╫nNewIntent鏂规硶涓繘琛孨FC鏍囩鐩稿叧鎿嶄綔銆�
+ * launchMode璁剧疆涓簊ingleTop鎴杝ingelTask锛屼繚璇丄ctivity鐨勯噸鐢ㄥ敮涓�
+ * 鍦╫nNewIntent鏂规硶涓墽琛宨ntent浼犻�掕繃鏉ョ殑Tag鏁版嵁
+ * 灏哊FC鏍囩鍗¢潬杩戞墜鏈哄悗閮紙NFC鏍囩鍗″彲缃戜笂鑷璐拱锛�
+ */
+public class BaseNfcActivity extends BaseActivity {
+
+
+    protected NfcAdapter mNfcAdapter;
+    private PendingIntent mPendingIntent;
+
+    volatile UserCard userCard;
+
+    /**
+     * onCreat->onStart->onResume->onPause->onStop->onDestroy
+     * 鍚姩Activity锛岀晫闈㈠彲瑙佹椂.
+     */
+
+
+
+    public static int READER_FLAGS =
+            NfcAdapter.FLAG_READER_NFC_A | NfcAdapter.FLAG_READER_SKIP_NDEF_CHECK;
+
+    @Override
+    protected void onStart() {
+        super.onStart();
+        //姝ゅadapter闇�瑕侀噸鏂拌幏鍙栵紝鍚﹀垯鏃犳硶鑾峰彇message
+        mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
+        Intent intent = new Intent(this, getClass());
+
+        //涓�鏃︽埅鑾種FC娑堟伅锛屽氨浼氶�氳繃PendingIntent璋冪敤绐楀彛
+        mPendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
+
+//        mLoyaltyCardReader = new LoyaltyCardReader(this);
+//        if (mNfcAdapter != null) {
+//            mNfcAdapter.enableReaderMode(this, mLoyaltyCardReader, READER_FLAGS, null);
+//        }
+
+    }
+
+    /**
+     * 鑾峰緱鐒︾偣锛屾寜閽彲浠ョ偣鍑�
+     */
+    @Override
+    public void onResume() {
+        super.onResume();
+        if (!ifNFCUse(this)) {
+        }
+        //璁剧疆澶勭悊浼樹簬鎵�鏈夊叾浠朜FC鐨勫鐞�
+        if (mNfcAdapter != null)
+            mNfcAdapter.enableForegroundDispatch(this, mPendingIntent, null, null);
+    }
+
+    /**
+     * 鏆傚仠Activity锛岀晫闈㈣幏鍙栫劍鐐癸紝鎸夐挳鍙互鐐瑰嚮
+     */
+    @Override
+    public void onPause() {
+        super.onPause();
+        //鎭㈠榛樿鐘舵��
+        if (mNfcAdapter != null)
+            mNfcAdapter.disableForegroundDispatch(this);
+//            mNfcAdapter.disableReaderMode(this);
+
+    }
+
+
+
+    /**
+     * 妫�娴嬪伐浣�,鍒ゆ柇璁惧鐨凬FC鏀寔鎯呭喌
+     *
+     * @return
+     */
+    protected Boolean ifNFCUse(Activity context) {
+        if (mNfcAdapter == null) {
+            TipUtil.show(context, "璁惧涓嶆敮鎸丯FC锛�", new TipUtil.TipListener() {
+                @Override
+                public void onCancle() {
+                    BaseNfcActivity.this.finish();
+                }
+            });
+            return false;
+        }
+        if (mNfcAdapter != null && !mNfcAdapter.isEnabled()) {
+            TipUtil.show(context, "璇峰湪绯荤粺璁剧疆涓厛鍚敤NFC鍔熻兘锛�");
+            return false;
+        }
+        return true;
+    }
+
+
+}

--
Gitblit v1.8.0