From ea8b02bbc2d20dc3db5b045fac4e6ddff7f44b7c Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期日, 29 九月 2024 10:30:10 +0800 Subject: [PATCH] 优化NFC模块架构,将一些方法抽调到父类中。修复一些bug --- baselibrary/src/main/java/com/dayu/baselibrary/activity/BaseNfcActivity.java | 44 +++++++++++++++++++++++++++++++++++--------- 1 files changed, 35 insertions(+), 9 deletions(-) diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/activity/BaseNfcActivity.java b/baselibrary/src/main/java/com/dayu/baselibrary/activity/BaseNfcActivity.java index 2bbdda6..028ffb5 100644 --- a/baselibrary/src/main/java/com/dayu/baselibrary/activity/BaseNfcActivity.java +++ b/baselibrary/src/main/java/com/dayu/baselibrary/activity/BaseNfcActivity.java @@ -6,8 +6,11 @@ import android.nfc.NfcAdapter; import android.os.Bundle; -import com.dayu.baselibrary.tools.nfc.NfcCommonData; +import com.dayu.baselibrary.tools.nfc.HuaZhiNfcReadHepler; +import com.dayu.baselibrary.utils.ModelUtils; import com.dayu.baselibrary.utils.TipUtil; +import com.pos.device.picc.PiccReader; +import com.pos.device.picc.PiccReaderCallback; /** * author: zuo @@ -22,14 +25,14 @@ public abstract class BaseNfcActivity extends BaseActivity { protected NfcAdapter mNfcAdapter; private PendingIntent mPendingIntent; - public static int adapterType = NfcCommonData.defaultType; + public static int adapterType = ModelUtils.defaultType; @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); switch (adapterType) { - case NfcCommonData.defaultType: + case ModelUtils.defaultType: onNfcBack(intent); break; } @@ -44,13 +47,30 @@ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - //鍒ゆ柇鏄摢涓満鍨� - try { - Class.forName("com.pos.device.config.DevConfig"); - adapterType = NfcCommonData.HuaZhiRongHai; - } catch (ClassNotFoundException e) { - adapterType = NfcCommonData.defaultType; + switch (ModelUtils.getModelType()) { + case ModelUtils.defaultType: + case ModelUtils.ShangMiType: + adapterType = ModelUtils.defaultType; + break; + case ModelUtils.HuaZhiRongHaiType: + adapterType = ModelUtils.HuaZhiRongHaiType; + PiccReader.getInstance().startSearchCard(HuaZhiNfcReadHepler.TIMEOUT, new PiccReaderCallback() { + @Override + public void onSearchResult(int result, int cardType) { + if (result == PiccReaderCallback.SUCCESS) { + switch (cardType) { + //浠ヤ笅涓篗1鍗� + case PiccReader.MIFARE_ONE_S50: + case PiccReader.MIFARE_ONE_S70: + onNfcBack(null); + break; + } + } + } + }); + break; } + } @Override @@ -90,6 +110,12 @@ } + @Override + protected void onDestroy() { + super.onDestroy(); + + } + /** * 妫�娴嬪伐浣�,鍒ゆ柇璁惧鐨凬FC鏀寔鎯呭喌 * -- Gitblit v1.8.0