Я пытаюсь получить доступ к текущему местоположению своего устройства в приложении форм Xamarin. Я использую плагин Geolocation, созданный Джеймсом Монтеманьо. Я добавил ссылку в мой проект pcl и платформы, но каждый раз, когда мое приложение попадает в жирную строку кода, я получаю System.Threading.Tasks.TaskCanceledException: A task was canceled.
. Я также добавил все необходимые настройки в манифесте android.Xam.Geolocation.Plugin не работает на моем приложении Android
var locator = CrossGeolocator.Current;
locator.DesiredAccuracy = 100;
вар позиция = ждут locator.GetPositionAsync (timeoutMilliseconds: 10000);
Вот StackTrace
System.Threading.Tasks.TaskCanceledException: Задача была отменена.
на System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task задача) [0x0002d] в /Users/строитель/данных/полос/2512/d3008455/источник/моно/внешний/referencesource/mscorlib /system/runtime/compilerservices/TaskAwaiter.cs:193 на System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task задачи) [0x0002e] в /Users/строитель/данные/полосах/2512 /d3008455/source/mono/external/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:170 в System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (задача System.Threading.Tasks.Task) [0x0000b] в /Пользователи/строитель/данные/l Anes/2512/d3008455/источник/моно/внешний/referencesource/mscorlib/система/времени выполнения/compilerservices/TaskAwaiter.cs: 142 на System.Runtime.CompilerServices.ConfiguredTaskAwaitable1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in /Users/builder/data/lanes/2512/d3008455/source/mono/external/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:580 at Plugin.Geolocator.GeolocatorImplementation+<GetPositionAsync>d__27.MoveNext () [0x00597] in G:\GitHub\Xamarin.Plugins\Geolocator\Geolocator\Geolocator.Plugin.Android\GeolocatorImplementation.cs:195 at --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x0000c] in /Users/builder/data/lanes/2512/d3008455/source/mono/external/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00027] in /Users/builder/data/lanes/2512/d3008455/source/mono/external/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:190 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in /Users/builder/data/lanes/2512/d3008455/source/mono/external/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:170 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in /Users/builder/data/lanes/2512/d3008455/source/mono/external/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:142 at System.Runtime.CompilerServices.TaskAwaiter
1 [TResult] .GetResult() [0x00000] в /Users/builder/data/lanes/2512/d3008455/source/mono/external/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:372 в NetJetApp.Views.Home + d__52.MoveNext() [ 0x0003e] в c: \ svn \ Netjet \ trunk \ NetJetXamarin \ NetJet \ NetJetApp \ NetJetApp \ Views \ Home.cs: 552 at --- Конец трассировки стека из предыдущего места, где исключение было thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x0000c] в /Users/builder/data/lanes/2512/d3008455/source/mono/external/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143 в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System. Threading.Tasks.Task task) [0x00027] в /Users/builder/data/lanes/2512/d3008455/source/mono/external/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:190 at Система .Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача System.Threading.Tasks.Task) [0x0002e] в /Пользователи/builder/data/lanes/2512/d3008455/source/mono/external/sourcesource/mscorlib/system/runtime /compilerservices/TaskAwaiter.cs:170 в System.Runtime.CompilerServices.TaskAwaiter.Va lidateEnd (задача System.Threading.Tasks.Task) [0x0000b] в /Users/builder/data/lanes/2512/d3008455/source/mono/external/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs: 142 в System.Runtime.CompilerServices.TaskAwaiter`1 [TResult] .GetResult() [0x00000] в /Пользователи/строитель/данные/полосы/2512/d3008455/источник/моно/внешний источник/источник/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs: 372 at NetJetApp.Views.Home + d__49.MoveNext() [0x00111] в C: \ SVN \ NetJet \ ствол \ NetJetXamarin \ NetJet \ NetJetApp \ NetJetAp на System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x0000c] в /Users/строитель/данные/lanes/2512/d3008455p \ Views \ Home.cs: 532 at --- Конец трассировки стека из предыдущего места, где было выбрано исключение ---/source/mono/external/sourcesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs: 143 на System.Runtime.CompilerServices.AsyncMethodBuilderCore.m__0 (System.Object состояние) [0x00000] в /Users/строитель/данных/полос/2512/d3008455/источник/моно/внешний/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs: 994 на Android.App.SyncContext + c__AnonStorey0. <> m__0() [0x00000] в /Users/builder/data/lanes/2512/d3008455/source/monodroid/src/Mono.Android/src/Android.App/SyncContext.cs:18 на Java.Lang. Thread + RunnableImplementor.Run() [0x0000b] в /Users/builder/data/lanes/2512/d3008455/source/monodroid/src/Mono.Android/src/Java.Lang/Thread.cs:36 на Java. Lang.IRunnableInvoker.n_Run (IntPtr jnienv, IntPtr native__this) [0x00009] в /Users/builder/data/lanes/2512/d3008455/source/monodroid/src/Mono.Android/platforms/android-23/src/generated /Java.Lang.IRunnable.cs:71 в точке (оберточной динамического-метода) System.Object: 089044c0-4139-4792-8365-3f98e93136b3 (IntPtr, IntPtr)
Пару вещей, чтобы попробовать, даже если только исключить их. Вы пробовали меньшую 'DesiredAccuracy'? Наши приложения используют 50. Сначала проверяет ли код 'locator.IsGeolocationEnabled'? –
Я пробовал 50, но я не нахожу победы, нет, я не сделал чек, где я должен это делать – sipho
Я пойду дальше и отправлю ответ с кодом, который мы используем. –