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/RechargeActivity.java | 88 ++++++++++++++++++++++++++++++++----------- 1 files changed, 65 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java b/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java index a0b2a39..4e938ca 100644 --- a/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java @@ -1,6 +1,7 @@ package com.dayu.recharge.activity; import android.content.Intent; +import android.nfc.Tag; import android.os.Bundle; import android.text.Editable; import android.text.TextUtils; @@ -23,6 +24,7 @@ import com.dayu.recharge.utils.MornyUtil; import com.dayu.recharge.utils.SocketUtil; import com.dayu.recharge.utils.TipUtil; +import com.dayu.recharge.view.ProgressDialog; import com.tencent.bugly.crashreport.CrashReport; import java.util.Arrays; @@ -36,7 +38,7 @@ */ public class RechargeActivity extends BaseNfcActivity { - Intent intent; +// Intent intent; boolean userFlag; ActivityRechargeBinding binding; @@ -45,6 +47,7 @@ AdminDataBean adminData; String userName; + Tag mTag; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -60,19 +63,39 @@ } } - public void onNewIntent(Intent intent) { + @Override + public void physicalCardDoing(Tag tag) { + super.physicalCardDoing(tag); try { - this.intent = intent; - userCard = NfcReadHelper.getInstence(intent).getUserCardData(); + mTag=tag; + userCard = NfcReadHelper.getInstence(tag).getUserCardData(); if (userCard != null) { - + ProgressDialog.show(this); selectBalance(userCard.getInitPeasantCode()); } else { TipUtil.show(RechargeActivity.this, "鍗$墖璇诲彇澶辫触"); } - readAllData(intent); + } catch (Exception e) { + e.printStackTrace(); + CrashReport.postCatchedException(e); + } + } + + public void onNewIntent(Intent intent) { + + try { +// this.intent = intent; + userCard = NfcReadHelper.getInstence(intent).getUserCardData(); + if (userCard != null) { + ProgressDialog.show(this); + selectBalance(userCard.getInitPeasantCode()); + } else { + TipUtil.show(RechargeActivity.this, "鍗$墖璇诲彇澶辫触"); + } + +// readAllData(intent); } catch (Exception e) { e.printStackTrace(); CrashReport.postCatchedException(e); @@ -95,6 +118,7 @@ String initCode = DeviceNumberUtils.getDeviceNumber(); if (TextUtils.isEmpty(initCode)) { TipUtil.show(RechargeActivity.this, "璁惧娉ㄥ唽鍙蜂负绌猴紝璇峰厛璁剧疆IP鍜岀鐞嗗憳鍦板潃"); + return; } Intent intent = new Intent(RechargeActivity.this, NFCWreatActivity.class); intent.putExtra("morny", morny); @@ -172,37 +196,46 @@ SocketNet.getInstance().sendTestMessage(requestBean.pack(), new SocketCallBack() { @Override public void onSocketResponse(SocketData readData) { + ProgressDialog.dismiss(); if (CRC8.isCRC8(readData.getOriginDataBytes())) { StringBuffer stateText = null; try { stateText = new StringBuffer(); String state = BcdUtil.bcdToStr(readData.getBodyBytes()[2]); //BCD鐮�00鍚敤 01绂佺敤 02闅跺睘淇℃伅涓嶇 03鏃犳鍗′俊鎭� 04鍏跺畠s + int balance = 0; - //鍙湁鍚姩鐘舵�佹墠鑳藉厖鍊� - //閲戦 - byte[] blanceByte = Arrays.copyOfRange(readData.getBodyBytes(), 3, 7); - int balance = SocketUtil.get16to10LowHigh(blanceByte); - //濮撳悕 - byte[] nameByte = Arrays.copyOfRange(readData.getBodyBytes(), 7, 19); - userName = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte)); + try { + //鍙湁鍚姩鐘舵�佹墠鑳藉厖鍊� + //閲戦 + byte[] blanceByte = Arrays.copyOfRange(readData.getBodyBytes(), 3, 7); + balance = SocketUtil.get16to10LowHigh(blanceByte); + //濮撳悕 + byte[] nameByte = Arrays.copyOfRange(readData.getBodyBytes(), 7, 19); + userName = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte)); + } catch (Exception e) { + e.printStackTrace(); + } + binding.rechargeLL.setVisibility(View.VISIBLE); + binding.rechargeRegistBtn.setVisibility(View.VISIBLE); + binding.rechargeReadLL.setVisibility(View.GONE); + binding.rechargeTextLL.setVisibility(View.VISIBLE); + binding.userName.setText(userName); + binding.redRemainderBlance.setText(MornyUtil.changeF2Y(balance)); + binding.redStatu.setText(stateText.toString()); + binding.redInitCode.setText(initPeasantCode); + if ("00".equals(state)) { + binding.rechargeRegistBtn.setVisibility(View.VISIBLE); stateText.append("鍚敤"); - binding.rechargeReadLL.setVisibility(View.GONE); - binding.rechargeTextLL.setVisibility(View.VISIBLE); - - binding.userName.setText(userName); - binding.redRemainderBlance.setText(MornyUtil.changeF2Y(balance)); - binding.redStatu.setText(stateText.toString()); - binding.redInitCode.setText(initPeasantCode); userCard.setState("00"); userCard.setBalance(balance); + binding.redStatu.setText(stateText.toString()); return; } else if ("01".equals(state)) { - stateText.append("绂佺敤"); + stateText.append("璇ュ崱宸茶绂佺敤"); userCard.setState("01"); userCard.setBalance(balance); - userFlag = WriteCardUtils.setUser(intent, userCard); - TipUtil.show("璇ュ崱宸茶绂佺敤"); + userFlag = WriteCardUtils.setUser(mTag, userCard); } else if ("02".equals(state)) { stateText.append("闅跺睘淇℃伅涓嶇"); } else if ("03".equals(state)) { @@ -210,6 +243,10 @@ } else if ("04".equals(state)) { stateText.append("鍏跺畠"); } + binding.redStatu.setText(stateText.toString()); + binding.rechargeLL.setVisibility(View.GONE); + binding.rechargeRegistBtn.setVisibility(View.GONE); + binding.rechargeRegistBtn.setVisibility(View.GONE); TipUtil.show(RechargeActivity.this, stateText.toString()); } catch (Exception e) { e.printStackTrace(); @@ -222,6 +259,7 @@ @Override public void onSocketError(int code, String msg) { + ProgressDialog.dismiss(); TipUtil.show(RechargeActivity.this, msg); } }); @@ -232,4 +270,8 @@ } + protected void onDestroy() { + super.onDestroy(); + rechargeActivity = null; + } } -- Gitblit v1.8.0