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/ReadCardAcitivy.java | 46 ++++++++++++++++++++++++++++++---------------- 1 files changed, 30 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java b/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java index 5b04dc2..b3db5ac 100644 --- a/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java +++ b/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java @@ -2,6 +2,7 @@ import android.content.Intent; import android.nfc.NfcAdapter; +import android.nfc.Tag; import android.os.Bundle; import android.os.Message; import android.view.LayoutInflater; @@ -57,7 +58,8 @@ volatile UserCard userCard; ActivityRedCardBinding redCardBinding; - Intent intent; + // Intent intent; + Tag mTag; @Override protected void onCreate(Bundle savedInstanceState) { @@ -73,7 +75,7 @@ redCardBinding.redRemainderBlance.setText("鍓╀綑閲戦锛�" + MornyUtil.changeF2Y(blance) + "鍏�"); redCardBinding.redStatu.setText("鍗$姸鎬侊細" + statu); if (userCard != null) { - redCardBinding.redInitCode.setText("鐢ㄦ埛娉ㄥ唽缂栧彿锛�" + userCard.getInitPeasantCode()); + redCardBinding.redInitCode.setText(userCard.getInitPeasantCode()); Calendar calendar = userCard.getRechargeDate(); if (calendar != null) { int year = calendar.get(Calendar.YEAR); @@ -91,14 +93,20 @@ } } + @Override + public void physicalCardDoing(Tag tag) { + super.physicalCardDoing(tag); + mTag = tag; + ProgressDialog.show(this); + + readAllData(tag); + + } @Override public void onNewIntent(Intent intent) { - this.intent = intent; - ProgressDialog.show(this); - if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) { - readAllData(intent); - } +// this.intent = intent; + super.onNewIntent(intent); } @@ -106,7 +114,7 @@ * 璇诲彇鍏ㄩ儴鏁版嵁 */ - public void readAllData(Intent intent) { + public void readAllData(Tag intent) { NfcReadHelper.getInstence(intent) .getOneSectorData(new NfcReadHelper.NFCCallListback() { @Override @@ -234,24 +242,30 @@ try { stateText = new StringBuffer(); - //閲戦 - byte[] blanceByte = Arrays.copyOfRange(readData.getBodyBytes(), 3, 7); - int balance = SocketUtil.get16to10LowHigh(blanceByte); - //濮撳悕 - byte[] nameByte = Arrays.copyOfRange(readData.getBodyBytes(), 7, 19); - String name = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte)); + int balance = 0; + String name = null; + try { + //閲戦 + byte[] blanceByte = Arrays.copyOfRange(readData.getBodyBytes(), 3, 7); + balance = SocketUtil.get16to10LowHigh(blanceByte); + //濮撳悕 + byte[] nameByte = Arrays.copyOfRange(readData.getBodyBytes(), 7, 19); + name = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte)); + } catch (Exception e) { + e.printStackTrace(); + } String state = BcdUtil.bcdToStr(readData.getBodyBytes()[2]); //BCD鐮�00鍚敤 01绂佺敤 02闅跺睘淇℃伅涓嶇 03鏃犳鍗′俊鎭� 04鍏跺畠s if ("00".equals(state)) { userCard.setBalance(balance); userCard.setState("00"); - WriteCardUtils.setUser(intent, userCard); + WriteCardUtils.setUser(mTag, userCard); stateText.append("鍚敤"); } else if ("01".equals(state)) { userCard.setBalance(balance); userCard.setState("01"); - WriteCardUtils.setUser(intent, userCard); + WriteCardUtils.setUser(mTag, userCard); stateText.append("绂佺敤"); } else if ("02".equals(state)) { stateText.append("闅跺睘淇℃伅涓嶇"); -- Gitblit v1.8.0