6***@qq.com
6***@qq.com
  • 发布:2024-04-01 18:56
  • 更新:2024-04-19 16:40
  • 阅读:69

使用uni-registerRequestPermissionTips插件就按照示例加了相机、相册和位置信息,但调相机时系统授权弹不出来是怎么回事

分类:uni-app

App.vue
import {
registerRequestPermissionTipsListener,
unregisterRequestPermissionTipsListener,
setRequestPermissionTips
} from "@/uni_modules/uni-registerRequestPermissionTips";
import { typeList } from "@/apis/pages.js";

var PermissionTips = {
"android.permission.CAMERA": "<h4 style=\"font-size:30px;\">获取相机权限说明</h4><font color=#cccccc>为了方便您上传房屋照片,我们需要访问您的相机。我们保证仅在您允许的情况下使用相机,并且始终尊重您的隐私权。</font>",
"android.permission.ACCESS_COARSE_LOCATION": "<h4 style=\"font-size:30px;\">访问地理位置信息权限说明</h4><font color=#cccccc>需要获取您的位置信息,以便为您推荐附近的房源。我们承诺只在您同意的情况下收集和使用您的位置数据,并严格遵守隐私政策。</font>",
"android.permission.WRITE_EXTERNAL_STORAGE": "<h4 style=\"font-size:30px;\">获取相册权限说明</h4><font color=#cccccc>需要访问您的相册和音视频,以便您可以上传房屋的照片和视频。我们承诺仅在您同意的情况下使用这些权限,并且严格遵守隐私政策。</font>"
}
onLaunch: function() {
var brand = uni.getSystemInfoSync().deviceBrand
setRequestPermissionTips(PermissionTips)
registerRequestPermissionTipsListener({
onRequest: (e) => {
console.log(e)
},
onConfirm: (e) => {
console.log(e)
},
onComplete: (e) => {
// 华为手机在权限禁止之后,再次申请权限不会出现权限申请框。此时应该引导用户去系统设置开启此权限,不应该频繁申请。
// if (brand.toLowerCase() == "huawei") {
var tips = {}
var hasDeniedPermission = false
for (var k in PermissionTips) {
if (e[k] != "denied") {
tips[k] = PermissionTips[k]
} else {
hasDeniedPermission = true
}
}
setRequestPermissionTips(tips) // 更新弹框提醒,防止华为手机不出现权限申请框时权限提醒框闪烁的情况
if (hasDeniedPermission)
uni.showModal({
content: "权限已经被拒绝,请前往设置中开启"
})
// }
}
})
}

manifest.json

"android" : {
"permissions" : [
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name="android.permission.CAMERA"/>",
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.INTERNET\"/>",
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
],
"targetSdkVersion" : 30
},

2024-04-01 18:56 负责人:无 分享
已邀请:
晴空里的雨滴

晴空里的雨滴

遇到同样问题,请问你解决了吗

1***@163.com

1***@163.com

同样的问题

要回复问题请先登录注册