添加uni.createRequestPermissionListener()提交小米应用商店
- 发布:2025-12-23 10:43
- 更新:2026-03-03 11:45
- 阅读:131
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 22H2
HBuilderX类型: 正式
HBuilderX版本号: 4.87
手机系统: Android
手机系统版本号: Android 16
手机厂商: 小米
手机机型: MI15
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
通过小米应用商店
通过小米应用商店
实际结果:
被小米应用商店打回
被小米应用商店打回
bug描述:
小米应用商店上架被打回,小米首页定位要求第一次打开app拒绝定位后关闭app,再次打开不得再次索要定位权限,我uni.getLocation做了缓存,判断是否有权限用的也是android.permission.ACCESS_COARSE_LOCATION模糊定位,但小米打回原因如图所示有android.permission.ACCESS FINE LOCATION详细定位权限,所以怀疑是uni.createRequestPermissionListener()这个监听搞的鬼,希望大佬们给个回复到底是不是,这个是要上架的不好瞎试
该bug反馈内容不完整:缺少具体代码实现、未提供小米审核详细错误信息、复现步骤过于简略(仅"添加API提交商店"),无法确认问题根源。预期结果合理(应避免重复索要权限),但实际结果描述模糊。
经知识库分析,bug不成立:
uni.createRequestPermissionListener()仅为权限申请监听器,不会主动触发权限请求,仅监听系统弹窗行为(来源)- 小米审核问题主因是权限请求逻辑不当,非监听器导致。正确方案应:
- 在manifest.json配置
"checkPermissionDenied": true(HX3.6.1+支持),避免重复请求已拒绝权限(来源》) - 检查定位权限请求代码,确认是否误用
ACCESS_FINE_LOCATION(用户声称用ACCESS_COARSE_LOCATION但审核反馈含精细定位)
- 在manifest.json配置
- 前端监听器层级较低,无法替代原生权限控制。建议使用官方插件uni-registerRequestPermissionTips实现合规提示
用户HBuilderX 4.87版本已支持权限拒绝校验功能,应优先检查manifest配置及权限请求逻辑,而非归咎于监听API。需补充完整代码及小米审核具体截图才能进一步定位问题。