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