【问题标题】:React Native App is not getting location from Android EmulatorReact Native App 没有从 Android Emulator 获取位置
【发布时间】:2016-09-25 17:00:04
【问题描述】:

首先我要告诉你,这个问题解决了我的部分问题,但不是全部:

Emulator's Location simulation not working

我设法让模拟器的位置提供程序工作(使用 Google 地图应用程序验证它),但我的 React Native 应用程序没有获取位置。它可以在真实设备上运行,所以我想说这更多的是应用程序和模拟器之间的问题。

正如我所说,我在 Google 地图应用中获得了这个位置:

我的模拟器规格:

我在我的 React 应用程序中所做的如下:

在 React 异步操作中:(适用于真实设备)

return navigator.geolocation.getCurrentPosition(
  (position) => {
    let initialCenterPosition = {
      latitude : position.coords.latitude,
      longitude : position.coords.longitude
    }

    dispatch(requestInitialCenterPositionSuccess(initialCenterPosition))
  },
  (error) => {
    dispatch(requestInitialCenterPositionError(error))
  },
  {enableHighAccuracy: true, timeout: 10000, maximumAge: 0}
)

我的 Android Manifest XML 中的当前权限以防万一:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

build.graddle 文件中我的 Sdk 和 Build Tools 版本:

compileSdkVersion 23
buildToolsVersion "23.0.3"

还使用 builtToolsVersion 对其进行了测试:“24.0.2”

在 getCurrentPosition 函数中将 enableHighAccuracy 切换为 false 不会做任何改变。

在我的 React Native 应用程序规范中我应该注意另一个方面,以便这可以工作吗?对我来说,我在真实设备上没有任何问题似乎很奇怪

谢谢大家

【问题讨论】:

    标签: android android-emulator react-native


    【解决方案1】:

    设置为enableHighAccuracy false,问题就解决了

    {enableHighAccuracy: false, timeout: 10000, maximumAge: 0}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-08
      • 2015-07-17
      • 2020-10-03
      • 1970-01-01
      相关资源
      最近更新 更多