You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android 11下expo-location无法正确处理“仅此次”位置权限问题求助

根因说明

expo-location@13.0.4 未完成Android 11新增的一次性位置权限适配,无法识别「仅此次允许」的授权状态,会把该类型的授权错误识别为「永久允许」,所以两种授权的返回值完全一致,也不会触发二次申请逻辑。

解决方案
  • 优先升级 expo-location 到15.0.0及以上版本,该版本已官方兼容Android 11+的一次性权限规则:选择「仅此次允许」后返回结果的expires字段会返回正确的有效期,系统回收权限后再次打开应用调用权限申请接口会重新弹出授权弹窗。
  • 若无法升级依赖,可自行补充系统层权限校验逻辑:Android 11及以上版本每次应用冷启动时,先调用React Native自带的PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION)查询权限状态,该接口返回结果和系统权限状态完全同步,一旦一次性权限过期就会返回denied,此时再主动调用权限申请接口即可触发弹窗。

内容的提问来源于stack exchange,提问作者Matt Alice

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 15:15:02