Мне нужно реализовать фоновую задачу геозоны в моем приложении. В основном я использовал код из образцов геозоны в MSDN. Независимо от того, что я делаю, это всегда заканчивается отладчиком App.g.i.cs при попытке получить доступ к BackgroundExecutionManager.
public async static void Register()
{
if (!IsTaskRegistered())
{
var result = await BackgroundExecutionManager.RequestAccessAsync();
var builder = new BackgroundTaskBuilder();
builder.Name = TaskName;
builder.TaskEntryPoint = typeof(GeofenceTask).FullName;
builder.SetTrigger(new LocationTrigger(LocationTriggerType.Geofence));
builder.Register();
}
}
Он никогда не входит в var builder = new BackgroundTaskBuilder(); - всегда заканчивается раньше. Что, возможно, я делаю неправильно?
Кстати. IsTaskRegistered() работает нормально, но на всякий случай:
public static bool IsTaskRegistered()
{
var taskRegistered = false;
var entry = BackgroundTaskRegistration.AllTasks.FirstOrDefault(kvp => kvp.Value.Name == TaskName);
if (entry.Value != null)
taskRegistered = true;
return taskRegistered;
}