Fazer a portabilidade de uma tarefa em segundo plano fora do processo para uma tarefa em segundo plano no processo

A maneira mais simples de portar sua atividade em segundo plano fora do processo (OOP) para a atividade em processo é trazer o código do método IBackgroundTask.Run para dentro do aplicativo e iniciá-lo em OnBackgroundActivated. A técnica descrita aqui não é sobre a criação de um shim de uma tarefa em segundo plano OOP para uma tarefa em segundo plano em processo; trata-se de reescrever (ou portar) uma versão OOP para uma versão em processo.

Se o seu aplicativo tiver várias tarefas em segundo plano, o Exemplo de ativação em segundo plano mostrará como você pode usar BackgroundActivatedEventArgs.TaskInstance.Task.Name para identificar qual tarefa está sendo iniciada.

Se você estiver se comunicando entre processos em segundo plano e em primeiro plano, poderá remover esse código de comunicação e gerenciamento de estado.

Tarefas em segundo plano e tipos de gatilho que não podem ser convertidos

  • As tarefas em segundo plano em processo não dão suporte à ativação de uma tarefa em segundo plano VoIP.
  • As tarefas em segundo plano no processo não dão suporte aos seguintes gatilhos: DeviceUseTrigger, DeviceServicingTrigger e IoTStartupTask