c# - 使用 GetPositionAsync Geolocator 时检测到异常
问题描述
我收到一个异常错误:System.Threading.Tasks.TaskCanceledException
,同时尝试使用 Plugin.Geolocator 获取一些地理位置信息。
这是我得到的异常: System.Threading.Tasks.TaskCanceledException:任务已取消。在 Plugin.Geolocator.GeolocatorImplementation.GetPositionAsync (System.Nullable1[T] timeout, System.Nullable
1[T] cancelToken, System.Boolean includeHeading) [0x004d3] in :0 at interface_test.MainPage.CreateMainPageAsync () [0x0018b] in /Users/khalidharkati/Projects/interface_test/interface_test/MainPage.xaml.cs:140 at interface_test。 App.OnStart () [0x0001a] in /Users/khalidharkati/Projects/interface_test/interface_test/App.xaml.cs:23 at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.b__6_0 (System.Object state) [0x00000] in <58604b4522f748968296166e317b04b4>:0 at Android.App.SyncContext+<>c__DisplayClass2_0.b__0 () [0x00000] in <788a34f7a7b84486905dfde786529d42>:0 at Java.Lang.Thread+RunnableImplementor.Run () [0x00008] in <788a34f7a7b84486905dfde786529d42>:0 at Java .Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00009] 在 <788a34f7a7b84486905dfde786529d42> 中:0 at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.40(intptr,intptr)
为了能够使用异步构造函数,我使用位置作为参数创建了一个:
public MainPage(Plugin.Geolocator.Abstractions.Position position)
{
...
}
然后我添加了这个方法来获得我的位置:
public static async Task<MainPage> CreateMainPageAsync()
{
var locator = CrossGeolocator.Current;
locator.DesiredAccuracy = 50;
var position = await locator.GetPositionAsync(TimeSpan.FromSeconds(10));
MainPage page = new MainPage(position);
return page;
}
在 app.xaml.cs 文件中,我将此代码添加到OnStart()
方法中:
protected override async void OnStart()
{
interface_test.MainPage main = await interface_test.MainPage.CreateMainPageAsync();
MainPage = main;
}
PS:在我更新一些组件、Xamarin 和一些包之前,我开始收到这个错误。
解决方案
我解决了,实际上,这听起来可能很愚蠢,但我只是忘记在手机上打开 GPS。而已 。
推荐阅读
- r - 直方图遇到对象未找到错误
- google-chrome-extension - 如何为 chrome.downloads.onDeterminingFilename 事件正确创建异步侦听器并更改文件名?
- javascript - 仅更改字体真棒图标
- tomcat9 - 我无法运行 tomcat 服务器版本 9
- node.js - NestJS HttpService 同时调用多个端点
- flutter - 在列表视图生成器中使用不同的文本字段控制器
- subdomain - 从 godaddy 读取文档自定义子域点不起作用
- python - 为图像数据降维实施 SVD
- python - csv.reader 没有 open() 函数
- groovy - 使用 snakeYaml 在 YAML 文件中添加/附加内部(嵌套)键值