React本机应用程序未从Android Emulator获取位置

React本机应用程序未从Android Emulator获取位置,android,android-emulator,react-native,Android,Android Emulator,React Native,首先,我要让你知道,这个问题解决了我问题的一部分,但不是全部: 我设法让emulator的位置提供程序工作(使用Google Maps应用程序验证它),但它是我的React本机应用程序,无法获取位置。它在真实的设备上运行,所以我认为这更像是应用程序和模拟器之间的问题 正如我所说,我在谷歌地图应用程序中得到了这个位置: 我的模拟器规格: 我在React应用程序中执行的操作如下: 在React异步操作中:(在真实设备上工作) 以及我的Android清单XML中的当前权限,以防万一: <u

首先,我要让你知道,这个问题解决了我问题的一部分,但不是全部:

我设法让emulator的位置提供程序工作(使用Google Maps应用程序验证它),但它是我的React本机应用程序,无法获取位置。它在真实的设备上运行,所以我认为这更像是应用程序和模拟器之间的问题

正如我所说,我在谷歌地图应用程序中得到了这个位置:

我的模拟器规格:

我在React应用程序中执行的操作如下:

在React异步操作中:(在真实设备上工作)

以及我的Android清单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" />
还使用builtToolsVersion:“24.0.2”对其进行了测试

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

在我的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}
)

由于所有

设置都启用了HighAccurance false,问题将得到解决

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