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)
					}
				}
经验分享 程序员 微信小程序 职场和发展