【发布时间】: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