酷酷滴辉
酷酷滴辉
  • 发布:2021-08-05 14:15
  • 更新:2021-09-14 22:15
  • 阅读:1252

uni-app 安卓端位置获取失败问题

分类:uni-app

uniapp的 安卓app 定位权限被拒绝后,询问是否开启授权并跳转到手机设置页面

设置开启以后返回到app端, 调用uni.getlocation还是进入fail里面了, 必须要重新启动app才可以正常获取

uni.getLocation({  
  type: 'gcj02',  
  success: res => {  
    this.latitude = res.latitude  
    this.longitude = res.longitude  
  },  
  fail: error => {  
    console.log("获取定位失败了",error)  
    uni.showModal({  
      title: '提示',  
      content: '获取定位失败,是否授权打开定位',  
      success: (res) => {  
        if(res.confirm){  
          uni.getSystemInfo({  
           success: (sys) => {  
             if(sys.platform=='ios'){  
              plus.runtime.openURL("app-settings://");  
             }else{  
              var main = plus.android.runtimeMainActivity();  
              var Intent = plus.android.importClass("android.content.Intent");  
              //可能应该直接进入应用列表的权限设置?=> android.settings.APPLICATION_SETTINGS  
              var mIntent = new Intent('android.settings.LOCATION_SOURCE_SETTINGS');  
              main.startActivity(mIntent);  
             }  
           }  
          })  
        }  
      }  
    })  
  }  
});

2021-08-05 14:15 负责人:无 分享
已邀请:

最佳回复

DCloud_Android_ST

DCloud_Android_ST

HX3.2.1 alpha已修复该问题

yeii

yeii

同问 希望官方看下问题

DCloud_Android_ST

DCloud_Android_ST

问题已确认

  • 酷酷滴辉 (作者)

    是用户拒绝授权后, uni.getSystemInfo打开设置给应用位置权限,然后返回app调取的uni.getlocation还是进入fail里面,提示获取失败

    2021-08-05 15:03

  • yeii

    用户拒绝授权后, 通过api 方法打开授权设置页面, 授权后uni.getlocation还是进入fail里面

    2021-08-05 15:14

  • yeii

    ios 无此问题 安卓有

    2021-08-05 15:15

  • DCloud_Android_ST

    回复 yeii: 确实这个快逻辑处理确实有些问题 后续会调整

    2021-08-05 15:42

  • yeii

    回复 DCloud_Android_ST: 多谢 希望可以尽快解决项目已经开始上线了

    2021-08-05 15:46

酷酷滴辉

酷酷滴辉 (作者) - 憨憨小菜鸡

手机没办法同时截图,使用的模拟器截图,上面是在设置中给了应用位置权限,但是返回app还是获取位置失败,只有关掉app重新启动才可以获取到用户位置信息!

9***@qq.com

9***@qq.com

楼主当时在ios端有这个问题吗?

我这边在iOS端遇到了类似的问题,用permision.judgeIosPermission('location')判断app定位权限是开启状态(实际也确实是开启的), 但是getLocation 一直在走fail的回调

同样是重启了app之后就正常了

要回复问题请先登录注册