UNIAPP 申请蓝牙连接权限 适配 Android12、鸿蒙 系统

UNIAPP调用本地配对蓝牙功能 在客户手机升级到 Android12以上系统时 无法正常调用买,需要2步来适配:

1.在 "android" => "permissions" 下添加 对应权限

"<uses-permission android:name=\"android.permission.BLUETOOTH_CONNECT\"/>"

2.在调用蓝牙设备之前 检查唤起权限对话框

checkPermission(["android.permission.BLUETOOTH_CONNECT"],"蓝牙",function(){
		console.log('checkPermission BLUETOOTH_CONNECT OK!');
});

function checkPermission(permissions, permissionName, success) {
	plus.android.requestPermissions(permissions, function(e) {
		if (e.deniedAlways.length > 0) { //权限被永久拒绝
			// 弹出提示框解释为何需要读写手机储存权限,引导用户打开设置页面开启
			uni.showModal({
				title: permissionName + '权限',
				content: '您可能拒绝了' + permissionName + '权限或您的设备无需设置权限',
				success: function(res) {
					if (res.confirm) {
						// console.log('用户点击确定');
					} else if (res.cancel) {
						// console.log('用户点击取消');
					}
				}
			});
		}
		if (e.deniedPresent.length > 0) { //权限被临时拒绝
			plus.android.requestPermissions(permissions)
		}
		if (e.granted.length > 0) { //权限被允许
			if (success) {
				success();
			}
		}
	}, function(e) {
		console.log('checkPermission error:', e);
	});
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值