uni.getlocation发起的权限请求导致app在不重启的前提下,原生定位插件(高德)始终返回第一次的定位信息
- 发布:2024-03-13 11:10
- 更新:2024-03-13 15:50
- 阅读:232
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 12
HBuilderX类型: 正式
HBuilderX版本号: 3.99
手机系统: Android
手机系统版本号: Android 14
手机厂商: 小米
手机机型: redmi k60
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
uni.getlocation发起的权限请求在同意之后,原生定位插件(高德)也能正常使用
uni.getlocation发起的权限请求在同意之后,原生定位插件(高德)也能正常使用
实际结果:
uni.getlocation发起的权限请求导致app在不重启的前提下,原生定位插件(高德)始终返回第一次的定位信息
uni.getlocation发起的权限请求导致app在不重启的前提下,原生定位插件(高德)始终返回第一次的定位信息
bug描述:
项目开启时调用了uni.getlocation接口,在没有权限的情况下会自动请求权限,而同意这个权限之后,在不重启app的情况下,一个高德sdk原生插件在调用后将始终只返回第一次的定位信息,无论调用几次,经纬度与时间戳都始终是第一次的结果,后续尝试发现,如果不使用uni,getlocation触发的定位权限请求,而是自己先使用原生发起定位权限请求,将不会出现上述问题,请问这是为什么?
2 个回复
1***@qq.com (作者)
经过几次测试发现并不是那次权限申请的问题,而是因为调用了uni.getlocation接口,当type设置为‘gcj02’时,调用一次之后就会导致原生插件那边的回调始终返回同一个位置信息,这是为什么?
1***@qq.com (作者)
使用plus.geolocation.getCurrentPosition接口也一样,每次调用返回的时间戳都是同一个,这是怎么回事?还是前台调用,都没有进入后台