我正在使用 Xamarin 开发需要 GPS 的 iOS 和 Android 版本。
在 iOS 上它工作正常,但是现在开发 Android 版本我遇到了 GPS 的一些问题。它不获取 GPS 但超时。但是,在模拟器上(使用 Genymotion)它会立即获取坐标。请注意,我使用的是 Xamarin.Mobile(最新插件 0.7.5)。
private async Task<HelpPosition> CreateGeolocator ()
{
int accuracy = SettingsManager.Instance.GetSettings ().Accuracy;
Geolocator locator = new Geolocator (this) { DesiredAccuracy = accuracy * 10 };
Position p = await locator.GetPositionAsync (timeout: 10000);
return new HelpPosition{ Latitude = p.Latitude, Longitude = p.Longitude };
}
这总是代码在 10 秒后超时。我已经设置了 ACCESS_COARSE_LOCATION 和 ACCESS_FINE_LOCATION 权限。
这个问题似乎只发生在室内。然而,谷歌地图完全可以得到我的确切位置。我已经检查了定位服务中的所有设置(使用无线网络和使用 GPS 卫星)。该设备是三星 Note 2。