我尝试使用' 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" />
我在模拟器中测试时遇到任务取消异常。我试过改变时间跨度,但没有运气获得任务取消例外。
答案 0 :(得分:0)
为期望的准确度设置不同的值(大值 - >更多机会获得结果):
locator.DesiredAccuracy = 100;
答案 1 :(得分:0)
那么,您还必须在MainActivity类上重写OnRequestPermissionResult:
data
确保您的Android Target版本为API 25+。见https://jamesmontemagno.github.io/GeolocatorPlugin/GettingStarted.html