87 lines
2.7 KiB
Java
87 lines
2.7 KiB
Java
package com.uiui.aios.utils;
|
|
|
|
import android.annotation.SuppressLint;
|
|
import android.content.Context;
|
|
import android.content.ContextWrapper;
|
|
import android.content.Intent;
|
|
import android.content.IntentFilter;
|
|
import android.os.BatteryManager;
|
|
import android.os.Build;
|
|
import android.os.Environment;
|
|
import android.util.Log;
|
|
|
|
import androidx.core.content.ContextCompat;
|
|
|
|
import com.uiui.aios.BuildConfig;
|
|
|
|
import java.io.File;
|
|
import java.lang.reflect.Method;
|
|
|
|
public class Utils {
|
|
/**
|
|
* 获取设备序列号
|
|
*
|
|
* @return
|
|
*/
|
|
@SuppressLint("MissingPermission")
|
|
public static String getSerial() {
|
|
String serial = "unknow";
|
|
try {
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {//9.0+
|
|
serial = Build.getSerial();
|
|
} else if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N) {//8.0+
|
|
serial = Build.SERIAL;
|
|
} else {//8.0-
|
|
Class<?> c = Class.forName("android.os.SystemProperties");
|
|
Method get = c.getMethod("get", String.class);
|
|
serial = (String) get.invoke(c, "ro.serialno");
|
|
}
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
Log.e("e", "读取设备序列号异常:" + e.toString());
|
|
}
|
|
if (BuildConfig.DEBUG) {
|
|
// return "QNG2DKB00463";
|
|
}
|
|
return serial;
|
|
}
|
|
|
|
public static String getDeviceSN() {
|
|
String serial = null;
|
|
try {
|
|
Class<?> c = Class.forName("android.os.SystemProperties");
|
|
Method get = c.getMethod("get", String.class);
|
|
serial = (String) get.invoke(c, "persist.sys.hrSerial");
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
return serial;
|
|
}
|
|
|
|
/**
|
|
* 获取电量
|
|
*
|
|
* @param mContext
|
|
* @return
|
|
*/
|
|
synchronized public static int getBatteryLevel(Context mContext) {
|
|
if (Build.VERSION.SDK_INT >= 21) {
|
|
return ((BatteryManager) mContext.getSystemService(Context.BATTERY_SERVICE)).getIntProperty(4);
|
|
} else {
|
|
Intent intent = (new ContextWrapper(mContext)).registerReceiver(null, new IntentFilter("android.intent.action.BATTERY_CHANGED"));
|
|
return intent.getIntExtra("level", -1) * 100 / intent.getIntExtra("scale", -1);
|
|
}
|
|
}
|
|
|
|
public static String getDownLoadPath(Context context) {
|
|
String path = ContextCompat.getExternalFilesDirs(context, Environment.DIRECTORY_DOWNLOADS)[0].getAbsolutePath();
|
|
return path + File.separator;
|
|
}
|
|
|
|
public static String getFileNamefromURL(String url) {
|
|
int position = url.lastIndexOf("/");
|
|
return url.substring(position + 1);
|
|
}
|
|
|
|
}
|