讨论广场 问答详情
申请位置权限直接返回拒绝,根本不弹授权框,有人遇到过吗? module.json5里已经加了ACCESS_FINE_LOCATION权限,代码里调用申请接口,直接返回grantedPermissions为空,没任何弹框
k·怪咖先生 2025-11-21 21:32:57
95 评论 分享

申请位置权限直接返回拒绝,根本不弹授权框,有人遇到过吗?
module.json5里已经加了ACCESS_FINE_LOCATION权限,代码里调用申请接口,直接返回import { requestPermissions为空,没有任何弹框

95 评论 分享
写回答
全部评论(1)

大概率是权限名称过时、权限状态残留、配置/代码调用不规范这几类原因,具体排查和解决方法如下:

1. 权限名称已更新,旧名称不生效:鸿蒙部分版本已将ohos.permission.ACCESS_FINE_LOCATION更新为ohos.permission.LOCATION(精准定位),继续用旧权限名会被系统静默拒绝。需在module.json5中替换为新权限名。

2. 历史权限状态残留:若之前测试时拒绝过权限,重装应用时若勾选“保留应用数据”,权限状态会被保留,此时调用requestPermissionsFromUser不会再弹框。可卸载应用清除数据,或用requestPermissionOnSetting跳转设置页授权。

3. 配置/代码调用不规范:比如module.json5中缺少usedScene配置、获取的上下文无效等,都会导致授权弹框不弹出。需补全配置并确保上下文正确。

2025-11-21 21:47:19