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