Im имея проблему с фоновыми задачами в WP8.1 я создал фоновую задачу в качестве компонента во время выполнения окна ниже этого урока: http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh977055.aspxWindows Phone 8.1 Background Task - Можно не Debug и не будет стрелять
Проблема в том, что я не могу запустить фоновое задание. Он работает onNetworkChange. Когда я могу в режиме полета и обратно, он не стреляет. Когда я перехожу к событиям жизненного цикла на панели инструментов «Отладка», он говорит «Нет фоновых задач». Я отлаживал код, который регистрирует фоновое задание, и он регистрируется. Я также получаю «Эта точка останова в настоящее время не будет удалена. Для этого документа не были загружены символы, которые, по моему мнению, вызывают проблему.
Я пробовал - удаление папки bin и obj и восстановление. - очистка проекта. - пытается построить проект с нуля. - поворот Только моя опция кода выключена. - пытался сделать то же самое на другой машине, все равно ничего.
Мой код для регистрации
var taskRegistered = false;
var exampleTaskName = "UploadTask";
foreach (var task in BackgroundTaskRegistration.AllTasks)
{
if (task.Value.Name == exampleTaskName)
{
taskRegistered = true;
break;
}
}
if (!taskRegistered)
{
var builder = new BackgroundTaskBuilder();
builder.Name = exampleTaskName;
builder.TaskEntryPoint = "Tasks.Upload";
builder.SetTrigger(new SystemTrigger(SystemTriggerType.NetworkStateChange, false));
BackgroundTaskRegistration task = builder.Register();
}
пакета файл манифеста выглядит следующим образом
<Extensions>
<Extension Category="windows.backgroundTasks" EntryPoint="Tasks.Upload">
<BackgroundTasks>
<Task Type="systemEvent" />
<m2:Task Type="deviceUse" />
</BackgroundTasks>
</Extension>
</Extensions>
Моя задача выглядит следующим образом:
namespace Tasks
{
public sealed class Upload : IBackgroundTask
{
public void Run(IBackgroundTaskInstance taskInstance)
{
Debug.WriteLine("Am i even getting here?");
}
}
}
Может кто-нибудь помочь, как я потратил гораздо слишком долго, чтобы это работало. Благодаря
Добавили ли вы свою задачу в * Декларации * в манифесте? Также проверьте его точку входа. – Romasz
Да, это в объявлениях :( –
Можете ли вы попытаться добавить 'await BackgroundExecutionManager.RequestAccessAsync();' непосредственно перед 'var builder = new BackgroundTaskBuilder();'? – Romasz