地理位置不适用于xamarin android

时间:2017-09-27 15:12:36

标签: xamarin xamarin.forms xamarin.android

我尝试使用' plugin.geolocator'来获取手机的当前地理位置。但它在android中获得任务取消异常的ios工作正常。这是我试过的代码。请建议我为什么会遇到这个例外。

示例代码:

            var locator = CrossGeolocator.Current;
            locator.DesiredAccuracy = -1;

            if (locator.IsGeolocationEnabled)
            {
                var position = await locator.GetPositionAsync(TimeSpan.FromMilliseconds(5000));
            }

这些是我在android清单文件中给出的权限。

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

我在模拟器中测试时遇到任务取消异常。我试过改变时间跨度,但没有运气获得任务取消例外。

2 个答案:

答案 0 :(得分:0)

为期望的准确度设置不同的值(大值 - >更多机会获得结果):

locator.DesiredAccuracy = 100;

答案 1 :(得分:0)

那么,您还必须在MainActivity类上重写OnRequestPermissionResult:

data

确保您的Android Target版本为API 25+。见https://jamesmontemagno.github.io/GeolocatorPlugin/GettingStarted.html