From 1ffa3cb19f95855d44fbc9485f4eb3286b12e359 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期三, 22 十一月 2023 12:43:17 +0800 Subject: [PATCH] 修改提示方式 修改充值流程 --- app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java | 71 ++++++++++++++++++++++++++++++++++- 1 files changed, 68 insertions(+), 3 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 5b1e40b..a27aa80 100644 --- a/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java @@ -9,8 +9,16 @@ import android.content.Context; import android.content.Intent; import android.nfc.NfcAdapter; +import android.os.Handler; +import android.os.Message; -import com.dayu.recharge.utils.ToastUtil; +import com.dayu.recharge.card.UserCard; +import com.dayu.recharge.tools.NfcReadHelper; +import com.dayu.recharge.utils.TipUtil; +import com.tencent.bugly.crashreport.CrashReport; + +import java.util.List; +import java.util.Map; /** * Author:Created by Ricky on 2017/8/25. @@ -22,8 +30,27 @@ * 灏哊FC鏍囩鍗¢潬杩戞墜鏈哄悗閮紙NFC鏍囩鍗″彲缃戜笂鑷璐拱锛� */ public class BaseNfcActivity extends BaseActivity { + + /** + * 璇ュ崱宸插啓鍏ョ敤鎴蜂俊鎭� + */ + public final static int HAS_USER = 1; + /** + * 璇ュ崱鏈啓鍏ョ敤鎴蜂俊鎭� + */ + public final static int NO_USER = 2; + /** + * 鍏呭�� + */ + public final static int RECHARGE = 3; + + public final static int ERROR = -1; + protected NfcAdapter mNfcAdapter; private PendingIntent mPendingIntent; + + volatile UserCard userCard; + Handler handler; /** * onCreat->onStart->onResume->onPause->onStop->onDestroy @@ -71,13 +98,51 @@ */ protected Boolean ifNFCUse(Context context) { if (mNfcAdapter == null) { - ToastUtil.show(context, "璁惧涓嶆敮鎸丯FC锛�"); + TipUtil.show(context, "璁惧涓嶆敮鎸丯FC锛�"); return false; } if (mNfcAdapter != null && !mNfcAdapter.isEnabled()) { - ToastUtil.show(context, "璇峰湪绯荤粺璁剧疆涓厛鍚敤NFC鍔熻兘锛�"); + TipUtil.show(context, "璇峰湪绯荤粺璁剧疆涓厛鍚敤NFC鍔熻兘锛�"); return false; } return true; } + + /** + * 璇诲彇鍏ㄩ儴鏁版嵁 + */ + public void readAllData(Intent intent) { + try { + NfcReadHelper.getInstence(intent) + .getAllData(new NfcReadHelper.NFCCallListback() { + @Override + public void callBack(Map<String, List<byte[]>> data) { + Message message = new Message(); +// 鑾峰彇1鎵囧尯鏁版嵁 + List<byte[]> oneSector = data.get("1"); + if (oneSector != null && oneSector.size() > 0) { + userCard = UserCard.getBean(oneSector); + message.what = RECHARGE; + } else { + message.what = ERROR; + } + if (handler != null) { + handler.sendMessage(message); + } + } + + @Override + public void error(int code) { + if (handler != null) { + Message message = new Message(); + message.what = ERROR; + handler.sendMessage(message); + } + } + }); + } catch (Exception e) { + e.printStackTrace(); + CrashReport.postCatchedException(e); + } + } } -- Gitblit v1.8.0