From fc6048b630901058ccd90529e32e031e612b8384 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期二, 21 十一月 2023 14:32:03 +0800 Subject: [PATCH] 补卡相关 --- app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 53 insertions(+), 0 deletions(-) diff --git a/app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java b/app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java index 2a419ff..91d6565 100644 --- a/app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/AdminSetupActivity.java @@ -1,6 +1,7 @@ package com.dayu.recharge.activity; import android.content.Context; +import android.os.Build; import android.os.Bundle; import android.text.TextUtils; import android.view.LayoutInflater; @@ -16,6 +17,9 @@ import com.example.pickerviewlibrary.picker.entity.PickerData; import com.example.pickerviewlibrary.picker.listener.OnPickerClickListener; import com.tencent.bugly.crashreport.CrashReport; + +import java.lang.reflect.Method; +import java.util.zip.CRC32; /** * Copyright (C), 2023, @@ -107,6 +111,8 @@ adminBinding.adminPhone.setText(adminData.getPhone()); adminBinding.adminName.setText(adminData.getName()); adminBinding.adminAddress.setText(adminData.getSheng() + adminData.getShi() + adminData.getXian() + adminData.getZhen() + adminData.getCun()); + } else { + adminBinding.adminSerial.setText("12" + generateUniqueNumber(getSN())); } } catch (Exception e) { @@ -155,5 +161,52 @@ } } + public static String getSN() { + String serial = null; + try { + Class<?> c = Class.forName("android.os.SystemProperties"); + Method get = c.getMethod("get", String.class); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + try { + serial = (String) get.invoke(c, "ro.sunmi.serial"); + } catch (Exception e) { + e.printStackTrace(); + } + return serial; + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + serial = Build.getSerial(); + return serial; + } else { + //瀹夊崜8浠ヤ笅浣跨敤Build.SERIAL鐩稿悓鏂瑰紡 + //return Build.SERIAL; + try { + serial = (String) get.invoke(c, "ro.serialno"); + } catch (Exception e) { + e.printStackTrace(); + } + return serial; + } + } catch (ClassNotFoundException e) { + throw new RuntimeException(e); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } + } + + public static String generateUniqueNumber(String input) { + try { + // 浣跨敤CRC32鍝堝笇鍑芥暟 + CRC32 crc32 = new CRC32(); + crc32.update(input.getBytes()); + long crcValue = crc32.getValue(); + // 灏嗗搱甯屽�兼槧灏勫埌6浣嶆暟瀛楃殑鑼冨洿 + long sixDigitNumber = Math.abs(crcValue) % 1000000; + // 鏍煎紡鍖栦负6浣嶆暟瀛楃殑瀛楃涓� + return String.format("%06d", sixDigitNumber); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } } -- Gitblit v1.8.0