Tarefa em segundo plano do Windows Phone 8.1 - Não é possível depurar e não é acionada
Estou tendo um problema com as tarefas em segundo plano no WP8.1. Criei uma tarefa em segundo plano como um componente de tempo de execução do Windows, seguindo este tutorial:http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh977055.aspx
O problema é que não consigo executar minha tarefa em segundo plano. É executado no NetworkChange. Quando posso voltar ao modo de vôo e não está disparando. Quando vou a eventos do ciclo de vida na barra de ferramentas Local da depuração, ele diz Sem tarefas em segundo plano. Eu depurei o código que registra a tarefa em segundo plano e ela está sendo registrada. Também estou recebendo 'Esse ponto de interrupção não será atingido no momento. Não foram carregados símbolos para este documento ", que eu acho que está causando o problema.
Eu tentei - excluir a pasta bin e obj e reconstruir. - limpando o projeto. - tentando construir o projeto do zero. - desativando Apenas minha opção de código. - tentei fazer a mesma coisa em outra máquina, ainda nada.
Meu código para registrar
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();
}
O arquivo de manifesto do pacote é o seguinte
<Extensions>
<Extension Category="windows.backgroundTasks" EntryPoint="Tasks.Upload">
<BackgroundTasks>
<Task Type="systemEvent" />
<m2:Task Type="deviceUse" />
</BackgroundTasks>
</Extension>
</Extensions>
Minha tarefa é assim:
namespace Tasks
{
public sealed class Upload : IBackgroundTask
{
public void Run(IBackgroundTaskInstance taskInstance)
{
Debug.WriteLine("Am i even getting here?");
}
}
}
Alguém pode ajudar como eu passei muito tempo fazendo isso funcionar. obrigado