React Native App无法从Android模拟器获取位置

时间:2016-09-25 17:00:05

标签: android android-emulator react-native

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

Emulator's Location simulation not working

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

正如我所说,我在谷歌地图应用程序中获取此位置:

enter image description here

My Emulator规格:

enter image description here

我在React App中所做的工作如下:

在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文件中的My Sdk和Build Tools版本:

compileSdkVersion 23
buildToolsVersion "23.0.3"

还使用builtToolsVersion测试它:&#34; 24.0.2&#34;

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

我的React Native应用程序规范中是否还有其他方面需要注意,这样可行吗?我觉得在真实设备上没有任何问题似乎很奇怪

感谢所有

1 个答案:

答案 0 :(得分:0)

设置为enableHighAccuracy false,问题将解决

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