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);
|
}
|
}
|
}
|