Notificação do sistema com ativação de atualização pendente
Você pode usar PendingUpdate para criar interações multietapas nas notificações do sistema. Por exemplo, conforme visto abaixo, você pode criar uma série de notificações do sistema em que as notificações subsequentes dependem de respostas das anteriores.
Importante
Requer Atualização de Criadores de Outono da Área de Trabalho e 2.0.0 da biblioteca de Notificações: você deve estar executando o build da área de trabalho 16299 ou posterior para ver o trabalho de atualização pendente. Você deve usar a versão 2.0.0 ou posterior da biblioteca NuGet de Notificações do Kit de Ferramentas da Comunidade UWP para atribuir PendingUpdate em seus botões. PendingUpdate é suportada somente na Área de trabalho e será ignorada em outros dispositivos.
Pré-requisitos
Este artigo presume um conhecimento prático de...
- Construção de conteúdo de notificações do sistema
- Enviar uma notificação e processar a ativação em segundo plano
Visão geral
Para implementar uma notificação do sistema que usa uma atualização pendente como comportamento após a ativação...
Nos botões de ativação em segundo plano, especifique um AfterActivationBehavior de PendingUpdate
Atribuir uma Marca (e, como alternativa, Grupo) ao enviar a notificação do sistema
Quando o usuário clica no botão, sua tarefa em segundo plano será ativada e a notificação do sistema será mantida na tela em um estado de atualização pendente
Na tarefa em segundo plano, envie uma nova notificação do sistema com o novo conteúdo, usando a mesma Marca e Grupo
Atribuir PendingUpdate
Nos botões de ativação em segundo plano, defina um AfterActivationBehavior para PendingUpdate Observe que isso funciona somente para botões que com um ActivationType de Background.
new ToastContentBuilder()
.AddText("Would you like to order lunch today?")
.AddButton(new ToastButton("Yes", "action=orderLunch")
{
ActivationType = ToastActivationType.Background,
ActivationOptions = new ToastActivationOptions()
{
AfterActivationBehavior = ToastAfterActivationBehavior.PendingUpdate
}
});
Usar uma Marca na notificação
Para substituir a notificação posteriormente, é preciso atribuir a Marca (e, opcionalmente, o Grupo) na notificação.
// Create the notification
var notif = new ToastNotification(content.GetXml())
{
Tag = "lunch"
};
// And show it
ToastNotificationManager.CreateToastNotifier().Show(notif);
Substituir a notificação do sistema pelo novo conteúdo
Em resposta ao clique do usuário no botão, a tarefa em segundo plano é disparada e você deve substituir a notificação do sistema pelo novo conteúdo. Você substitui a notificação do sistema ao enviar uma nova notificação do sistema com a mesma Marca e Grupo.
É altamente recomendável ajustar o áudio para o modo silencioso nas substituições em resposta a um clique de botão, pois o usuário já está interagindo com a notificação do sistema.
// Generate new content
ToastContent content = new ToastContent()
{
...
// We disable audio on all subsequent toasts since they appear right after the user
// clicked something, so the user's attention is already captured
Audio = new ToastAudio() { Silent = true }
};
// Create the new notification
var notif = new ToastNotification(content.GetXml())
{
Tag = "lunch"
};
// And replace the old one with this one
ToastNotificationManager.CreateToastNotifier().Show(notif);
Tópicos relacionados
Windows developer
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de