uni-app获取设备序列号SERIAL

该博客介绍了在uni-app中根据不同Android版本获取设备序列号的方法。对于Android 8.0以下,可以直接通过Build.SERIAL获取;Android 8.0至10需要READ_PHONE_STATE权限,使用Build.getSerial();而Android 10及以上则无法直接获取。文中提供了详细的代码实现,包括权限检查和申请流程。
摘要由CSDN通过智能技术生成

uni-app获取设备序列号方法
Android 8.0以下:无需申请权限,可以通过Build.SERIAL获取到设备序列号
Android 8.0-Android 10:需要申请READ_PHONE_STATE权限,可以通过Build.getSerial()获取到设备序列号
Android 10 以上:获取不到设备序列表(目前获取为unknow)
具体代码如下所示


			 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;
				}
				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 { //如果拥有权限
					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')
				}
			}
			console.log(123,serial)

uni-app获取设备序列号SERIAL
uni-app获取设备序列号SERIAL
uni-app获取设备序列号SERIAL
uni-app获取设备序列号SERIAL
uni-app获取设备序列号SERIAL
uni-app获取设备序列号SERIAL
uni-app获取设备序列号SERIAL
uni-app获取设备序列号SERIAL
uni-app获取设备序列号SERIAL
uni-app获取设备序列号SERIAL

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值