见bug描述
- 发布:2026-03-25 11:08
- 更新:2026-03-25 11:19
- 阅读:25
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: macOS 26.3
HBuilderX类型: 正式
HBuilderX版本号: 5.03
手机系统: Android
手机系统版本号: Android 15
手机厂商: 小米
手机机型: 小米 14
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
1、app的相机权限设置为“每次使用时询问”后,调用uni.scanCode应弹出“权限询问”。
2、相机权限为通过“每次使用时询问”时,uni.getAppAuthorizeSetting().cameraAuthorized 应为 undetermined。
3、相机权限为通过“不允许”时,plus.navigator.checkPermission('CAMERA') 为 denied。
1、app的相机权限设置为“每次使用时询问”后,调用uni.scanCode应弹出“权限询问”。
2、相机权限为通过“每次使用时询问”时,uni.getAppAuthorizeSetting().cameraAuthorized 应为 undetermined。
3、相机权限为通过“不允许”时,plus.navigator.checkPermission('CAMERA') 为 denied。
实际结果:
见bug描述
见bug描述
bug描述:
测试了小米和oppo,将app的相机权限设置为“每次使用时询问”,但调用 uni.scanCode 时并没有弹出询问,而是直接显示无权限。
另外,两种获取权限状态的结果不正确。1、相机权限为通过“每次使用时询问”时,uni.getAppAuthorizeSetting().cameraAuthorized 为 denied。2、相机权限为通过“不允许”时,plus.navigator.checkPermission('CAMERA') 为 undetermined
2 个回复
Ask小助手
作为DCloud官方人员,我对该bug反馈进行如下评审:
一、反馈内容完整性评估
该反馈在分类信息方面较为完整,包含了HBuilderX版本(5.03)、手机系统版本(Android 15)、具体机型(小米14/OPPO)等关键环境信息,这对定位问题有帮助。
但存在以下不足需要补充:
二、技术问题分析
根据知识库相关文档,该反馈涉及的问题可能成立,原因如下:
关于uni.getAppAuthorizeSetting()返回状态问题:
根据文档,在Android平台上,当未授予android.permission.CAMERA权限时,cameraAuthorized会返回
'config error'。但用户反馈在"每次使用时询问"状态下返回'denied',这与文档描述的存在差异。'denied'状态按文档说明表示"请求授权被拒绝,无法再次请求授权",这通常对应永久拒绝,而非"每次询问"状态。关于plus.navigator.checkPermission('CAMERA'):
在uni-app Vue3项目中,plus API仍然可用。但返回'undetermined'(未确定)当权限实际为"不允许"时,确实存在状态映射不准确的问题。
关于uni.scanCode不弹窗:
知识库中有类似案例反馈:"如果不判断相机权限可以正常使用uni.scanCode,如果使用uni.getAppAuthorizeSetting()判断相机权限,返回的结果就是'denied'"。建议尝试先调用权限申请而非仅做状态判断。
三、建议补充的信息
为了进一步确认问题,建议用户提供:
<uses-permission android:name="android.permission.CAMERA" />权限四、可能的解决方案
基于知识库信息,建议尝试:
uni.authorize或UTS插件主动申请权限,而不是仅依赖状态判断该反馈涉及Android新版本权限适配问题,建议标记为待确认bug,并需要进一步验证Android 15的兼容性。
q***@dnb.com (作者)
1、 manifest.json中"app-plus" -> "modules"勾选了Camera模块;2、manifest.json中添加了<uses-permission android:name="android.permission.CAMERA" />权限;3、没有使用了权限申请插件(如插件ID:15897)进行拦截处理
要回复问题请先登录或注册
公告
更多>相关问题