调试发现错误信息为。
errMsg":"startBluetoothDevicesDiscovery:fail android.permission.BLUETOOTH_SCANpermission denied","errCode":10000,"code":10000
已知尝试的办法不行。在源码模式手动添加权限重新打包没有生效,设置了targeSdktVersion=31也不行。
判断需要在代码中动态获取这种权限。
//获取蓝牙权限
getAuth() {
uni.getSystemInfo({
success: function(data) {
// console.log(data);
var permissionArr;
if (data.osAndroidAPILevel < 31) {
permissionArr = ["android.permission.ACCESS_FINE_LOCATION"];
} else {
permissionArr = ["android.permission.ACCESS_FINE_LOCATION",
"android.permission.BLUETOOTH_SCAN", "android.permission.BLUETOOTH_CONNECT"
]; //,"android.permission.BLUETOOTH_ADVERTISE" 发现蓝牙权限暂时不需要
}
// console.log("ddd")
plus.android.requestPermissions(
permissionArr); // 内部封装了plus.android.requestPermissions
},
fail: function() {
uni.showModal({
title: "信息获取失败",
content: "信息获取失败,请返回主页面",
confirmText: "返回",
success: function(data) {
uni.navigateBack({
delta: 0
})
}
})
}
})
}