uni-app获取设备序列号SERIAL
uni-app获取设备序列号方法 Android 8.0以下:无需申请权限,可以通过Build.SERIAL获取到设备序列号 Android 8.0-Android 10:需要申请READ_PHONE_STATE权限,可以通过Build.getSerial()获取到设备序列号 关于uni-app动态申请READ_PHONE_STATE权限代码
var Build = plus.android.importClass("android.os.Build");
var Manifest = plus.android.importClass("android.Manifest");
var MainActivity = plus.android.runtimeMainActivity();
var ArrPermissions = [
Manifest.permission.READ_PHONE_STATE,
];
function PermissionCheck(permission) {
if (Build.VERSION.SDK_INT >= 23) {
if (MainActivity.checkSelfPermission(permission) == -1) {
return false;
}
}
return true;
}
function PermissionChecks(Arr) {
var HasPermission = true;
for (var index in Arr) {
var permission = Arr[index];
//如果此处没有权限,则是用户拒绝了
if (!PermissionCheck(permission)) {
HasPermission = false;
break;
}
}
return HasPermission;
}
function PermissionRequest(Arr) {
var REQUEST_CODE_CONTACT = 101;
if (Build.VERSION.SDK_INT >= 23) {
MainActivity.requestPermissions(Arr, REQUEST_CODE_CONTACT);
}
}
//如果没有权限,则申请
if (!PermissionChecks(ArrPermissions)) {
PermissionRequest(ArrPermissions);
} else { //如果拥有权限,那么干点啥吧^_^
//.......
}
申请权限之后可通过Build.getSerial()获取设备序列号 总结代码如下
var Build = plus.android.importClass("android.os.Build");
var Manifest = plus.android.importClass("android.Manifest");
var MainActivity = plus.android.runtimeMainActivity();
var SystemProperties = plus.android.importClass("android.os.SystemProperties")
var serial =
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { //9.0+
var ArrPermissions = [
Manifest.permission.READ_PHONE_STATE,
];
function PermissionCheck(permission) {
if (Build.VERSION.SDK_INT >= 23) {
if (MainActivity.checkSelfPermission(permission) == -1) {
return false;
}
}
return true;
}
function PermissionChecks(Arr) {
var HasPermission = true;
for (var index in Arr) {
var permission = Arr[index];
//如果此处没有权限,则是用户拒绝了
if (!PermissionCheck(permission)) {
HasPermission = false;
break;
}
}
return HasPermission;
}
//如果没有权限,则申请
if (!PermissionChecks(ArrPermissions)) {
serial =
} else { //如果拥有权限,那么干点啥吧^_^
serial = Build.getSerial()
}
} else if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N) { //8.0+
if (Build.SERIAL) {
serial = Build.SERIAL;
}
} else {
if (SystemProperties.get(ro.serialno)) {
serial = SystemProperties.get(ro.serialno)
}
}
