/**
* 获取手机序列号
*
* @return 手机序列号
*/
@SuppressLint({"NewApi", "MissingPermission"})
public static String getSerialNumber() {
String serial = "";
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("TAG", "读取设备序列号异常:" + e.toString());
}
return serial;
}
// Android 版本号 例如:"1.0.1"
public static String getVersionName(Context context) {
PackageManager manager = context.getPackageManager();
String name = null;
try {
PackageInfo info = manager.getPackageInfo(context.getPackageName(), 0);
name = info.versionName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return name;
}
/**
* 获取厂商
* @return 厂商
*/
public static String getBrand() {
return android.os.Build.BRAND;
}
/**
* 获取当前手机系统版本 例如:Android 9,Android 10等
* @return 系统版本号
*/
public static String getSystemVersion() {
return android.os.Build.VERSION.RELEASE;
}
/**
* 设备型号 例如:iPhone 11
* @return 设备型号
*/
public static String getModelName() {
return android.os.Build.MODEL;
}
/**
* 获取手机主板名
*/
public static String getDeviceBoard() {
return android.os.Build.BOARD;
}
/**
* 设备名
*/
public static String getDeviceDevice() {
return android.os.Build.DEVICE;
}
/**
*fingerprit 信息
*/
public static String getDeviceFubgerprint() {
return android.os.Build.FINGERPRINT;
}
/**
* 硬件名
*
**/
public static String getDeviceHardware() {
return android.os.Build.HARDWARE;
}
/**
* 主机
*
* **/
public static String getDeviceHost() {
return android.os.Build.HOST;
}
/**
*
* 显示ID
* **/
public static String getDeviceDisplay() {
return android.os.Build.DISPLAY;
}
/**
* 获取手机用户名
*
* **/
public static String getDeviceUser() {
return android.os.Build.USER;
}
/**
* 获取手机 硬件序列号 显示未知
*
* **/
public static String getDeviceSerial() {
return android.os.Build.SERIAL;
}
/**
* 获取手机Android 系统SDK
*
* @return
*/
public static int getDeviceSDK() {
return android.os.Build.VERSION.SDK_INT;
}
/**
* 获取当前手机系统语言。
*/
public static String getDeviceDefaultLanguage() {
return Locale.getDefault().getLanguage();
}
//点击获取当前手机名称 equipment_name:只是一个TextView的ID
equipment_name.setOnClickListener(v -> {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
equipment_name.setText(getDeviceName(MainActivity.this));
}
});
// 获取手机名称同蓝牙和WiFi名称
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR1)
public static String getDeviceName(Context context) {
return Settings.Global.getString(context.getContentResolver(),Settings.Global.DEVICE_NAME);
}
// 设置手机名称:手机名称可以改变 加上权限
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR1)
public static void setDeviceName(Context context, String name) {
Settings.Global.putString(context.getContentResolver(), Settings.Global.DEVICE_NAME, name);
BluetoothAdapter.getDefaultAdapter().setName(name);
}
//这是设置系统手机名称时的错误,是APP没有权限设置
java.lang.SecurityException: Permission denial: writing to settings requires:android.permission.WRITE_SECURE_SETTINGS
在清单文件中加入<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>也无事于补,所以还是需要到系统中在进行设置
Android 系统信息
最新推荐文章于 2023-01-29 15:15:47 发布