package com.dayu.baselibrary.utils; import android.annotation.SuppressLint; import android.os.Build; import java.lang.reflect.Method; /** * author: zuo * Date: 2024-08-02 * Time: 17:29 * 备注: */ public class DeviceUtils { @SuppressLint("MissingPermission") 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); } } }