用户拒绝激活位置时无法获取 - React Native Geolocation Service

Posted

技术标签:

【中文标题】用户拒绝激活位置时无法获取 - React Native Geolocation Service【英文标题】:Unable to get when user dennied activating location - React Native Geolocation Service 【发布时间】:2021-05-08 17:40:48 【问题描述】:

我打开这个问题并自己回答,以帮助面临同样问题的其他用户。

在使用包 react-native-geolocation-serviceandroid 中使用 React Native 应用程序时,尝试让用户激活其位置(不允许它,激活它 strong>),我发现按钮取消没有返回任何错误。这是我正在谈论的弹出窗口:

我使用的函数如下:

   Geolocation.getCurrentPosition(
        (position) => 
         console.log(position);
        (error) => 
          console.log(error.code, error.message);
        ,
         enableHighAccuracy: true, timeout: 15000, maximumAge: 10000 
    );

我完全确定它是正确的,因为它是来自 github 存储库的副本。但是,控制台从未记录过错误。

如果您遇到同样的问题,请查看下面的答案。

【问题讨论】:

【参考方案1】:

事实证明,问题在于 Visual Studio Code 插件(可能是 Prettier 和 ESLint)的组合弄乱了我的代码。正确的代码应该是这样的:

Geolocation.getCurrentPosition(
      pos => 
        // Do somehting if location activated
      ,
      error => 
        console.log(error.code, error.message);
      ,
      enableHighAccuracy: false, timeout: 15000, maximumAge: 10000
    );

如您所见,我之前的所有代码都在 "pos" 括号内,这意味着它只有在成功的情况下才进入。由于永远无法到达错误块,因此我无法从用户那里得到否定的答案。

希望这对任何人都有用。

【讨论】:

以上是关于用户拒绝激活位置时无法获取 - React Native Geolocation Service的主要内容,如果未能解决你的问题,请参考以下文章

权限被拒绝无法获取位置 Android

Kubernetes NAT 流服务器 - 连接被拒绝

呼叫需要权限,用户在尝试获取位置时可能会拒绝该权限

html5用户如果拒绝获取经纬度之后页面加载一直提示拒绝获取经纬度,怎麽获取权限,页面每次加载都能

未处理的拒绝(错误):网络错误:无法获取

html5获取地理位置,如果用户拒绝了,之后每次加载都提示:拒绝获取地理位置,如何获取权限:如果用