uni-app 首次拒绝授权(不再提醒)后,在应用设置界面开启授权无法获取定位权限
uni-app 首次拒绝授权(不再提醒)后,在应用设置界面开启授权无法获取定位权限
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | 1909 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
HBuilderX类型:正式
HBuilderX版本号:3.1.7
手机系统:Android
手机系统版本号:Android 10
手机厂商:魅族
手机机型:魅族17
页面类型:vue
打包方式:云端
App下载地址或H5网址:http://boss.liecaizhijia.com/download/bosiquan.apk
示例代码:
获取定位代码:
uni.getLocation({
geocode:true,
type:"gcj02",
success:res=> {
uni.hideLoading();
that.lat=res.latitude;
that.long=res.longitude;
// #ifdef APP-PLUS
that.address=res.address.poiName;
// #endif
},
fail:res=> {
uni.hideLoading();
console.log("res",res);
uni.showToast({title: '获取失败,请稍后再试',icon: 'none'});
}
})
操作步骤:
操作:首次拒绝授权(不再提醒),然后在应用设置界面开启授权。
预期结果:
正确获取定位信息
实际结果:
"errMsg": "getLocation:fail [geolocation:7]KEY错误 请到http://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode/查看错误码说明,错误详细信息:auth fail:INVALID_USER_SCODE#SHA1AndPackage#A1:06:2A:D4:2C:13:F4:1B:29:F0:30:08:CE:F4:7B:FD:6E:0E:9F:C5:qd.com.app#gsid#011018235075161820890332600011850353785#csid#c9169673740d4e1fb90c71284396ca29#0701"
更多关于uni-app 首次拒绝授权(不再提醒)后,在应用设置界面开启授权无法获取定位权限的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
你好,今天也遇到了同样的问题,请问你是怎么解决的 可以分享下经验吗? 我的key 和sha1都没有问题,调用getLocation 就报错key auth fail:INVALID_USER_SCODE 。
更多关于uni-app 首次拒绝授权(不再提醒)后,在应用设置界面开启授权无法获取定位权限的实战教程也可以访问 https://www.itying.com/category-93-b0.html
根据您提供的信息,问题核心在于高德地图定位SDK的配置错误,而非uni-app本身的权限逻辑。错误码 INVALID_USER_SCODE 明确表示 AppKey配置不匹配,与系统权限设置无关。以下是具体分析和解决方案:
问题原因
- SHA1与包名未正确绑定:高德地图开放平台要求AppKey必须与应用的签名SHA1指纹和包名(如
qd.com.app)严格匹配。 - 云端打包使用默认证书:若未自定义签名证书,云端打包会使用HBuilderX的默认证书,其SHA1值与您在高德平台配置的可能不一致。
- 权限已开启但SDK鉴权失败:即使系统定位权限已开启,高德SDK仍会因密钥错误拒绝服务。
解决步骤
- 获取当前APK的准确签名信息:
- 通过命令行工具(如Java的
keytool)检查已安装APK的SHA1:keytool -list -v -keystore [您的签名文件] -storepass [密码]
- 通过命令行工具(如Java的

