Uwp executa backgroundtask no login do usuário

Estou aprendendo o win10 uwp e meu objetivo é realizar uma operação, como atualizar um bloco, quando o usuário efetuar login.

Eu verifiquei no msdn e parece que um BackgroundTask é o que eu preciso. Então, segui as instruções para criar e registrar uma tarefa em segundo plano encontrada aquihttps://msdn.microsoft.com/en-us/library/windows/apps/mt299100.aspx e em páginas relacionadas.

BackgroundTaskBuilder taskBuilder= new BackgroundTaskBuilder();
taskBuilder.Name = "TaskClassName";
taskBuilder.TaskEntryPoint = "TaskNameSpace.TaskClassName";

// set conditions (execute when user become present)
taskBuilder.SetTrigger(new SystemTrigger(SystemTriggerType.SessionConnected, false));
taskBuilder.SetTrigger(new SystemTrigger(SystemTriggerType.UserPresent, false));

   var registration= taskBuilder.Register();

Namespace e classe do meuBackgroundTask são colocados em um projeto separado sob a mesma solução e adicionados na guia Declaração do Package.appxmanifest com a propriedadeSystem Event selecionado.

MinhasIBackgroundTask implementação é

    public void Run(IBackgroundTaskInstance taskInstance)
    {
        BackgroundTaskDeferral deferral = taskInstance.GetDeferral();

        UpdateMyTile();

        deferral.Complete();
    }

Ao depurar com o visual studio, o código é executado corretamente e atualiza os blocos, então acho que meu problema é como registrei a tarefa e não na implementação da tarefa.

Para ter certeza de que adicionei um segundoBackgroundTask ao projeto existente, chamado temporariamente a cada 15 minutos e que executa as mesmas funções. Nesse segundo caso, a tarefa em segundo plano é registrada e executada conforme o esperado.

BackgroundTaskBuilder taskBuilderT= new BackgroundTaskBuilder();
taskBuilderT.Name = "TaskClassNameTimer";
taskBuilderT.TaskEntryPoint = "TaskNameSpace.TaskClassNameTimer";

taskBuilderT.SetTrigger(new TimeTrigger(15, false));

var registration= taskBuilderT.Register();

Eu também tentei usar apenas umSystemTrigger primeiro comUserPresent e depois comSessionConnected sem sucesso.

Atualização 27/01/2016

@Jakie: não, eu não useiBackgroundExecutionManager.RequestAccessAsync(); porque emhttps://msdn.microsoft.com/EN-US/library/windows/apps/windows.applicationmodel.background.systemtriggertype.aspx para SessionConnected e UserPresent, diz

Windows 10, Visualização técnica do Windows Server 2016 e Windows 10 Mobile: você não precisa colocar um aplicativo na tela de bloqueio para que o aplicativo possa registrar com êxito tarefas em segundo plano usando esse tipo de gatilho.

Vou tentar ver se isso muda o comportamento atual. Adicionei chamada paraBackgroundExecutionManager.RequestAccessAsync();, usando o Windows 10, nenhuma caixa de diálogo foi exibida, mas retornouAllowedMayUseActiveRealTimeConnectivity mas a tarefa não foi chamada no logon após uma reinicialização.

Comecei o log de diagnóstico e encontrei os eventos relativos à minha tarefa em segundo plano, está registrado corretamente, mas é cancelado. Os relatórios de eventos indicam eventID 19 Tarefa 100. Não sei onde procurar informações sobre o significado desses códigos, alguma sugestão?

questionAnswers(1)

yourAnswerToTheQuestion