Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um selo de notificação transmite informações de resumo ou status específicas para seu aplicativo. Eles podem ser numéricos (1 a 99) ou um de um conjunto de glifos fornecidos pelo sistema. Exemplos de informações melhor transmitidas por meio de um selo incluem status de conexão de rede em um jogo online, status do usuário em um aplicativo de mensagens, número de emails não lidos em um aplicativo de email e número de novas postagens em um aplicativo de mídia social.
Os selos de notificação aparecem no ícone da barra de tarefas do aplicativo e no canto inferior direito do bloco inicial, independentemente de o aplicativo estar em execução. Os emblemas podem ser exibidos em todos os tamanhos de azulejo.
Note
Você não pode fornecer sua própria imagem de selo; somente imagens de selo fornecidas pelo sistema podem ser usadas.
Selos numéricos
| Value | Badge | XML |
|---|---|---|
| Um número de 1 a 99. Um valor de 0 é equivalente ao valor de glifo "none" e limpará o selo. |
|
<badge value="1"/> |
| Qualquer número maior que 99. |
|
<badge value="100"/> |
Selos de glifo
Em vez de um número, um selo pode exibir um de um conjunto não extensível de glifos de status.
| Status | Glyph | XML |
|---|---|---|
| none | (Nenhum selo mostrado.) | <badge value="none"/> |
| atividade |
|
<badge value="activity"/> |
| alarm |
|
<badge value="alarm"/> |
| alerta |
|
<badge value="alert"/> |
| attention |
|
<badge value="attention"/> |
| available |
|
<badge value="available"/> |
| away |
|
<badge value="away"/> |
| busy |
|
<badge value="busy"/> |
| erro |
|
<badge value="error"/> |
| newMessage |
|
<badge value="newMessage"/> |
| paused |
|
<badge value="paused"/> |
| playing |
|
<badge value="playing"/> |
| unavailable |
|
<badge value="unavailable"/> |
Defina um selo em um aplicativo do SDK do Aplicativo Windows
A partir do SDK do Aplicativo Windows 1.7, utilize a classe BadgeNotificationManager no namespace Microsoft.Windows.BadgeNotifications para definir e limpar selos. Essa é a abordagem recomendada para aplicativos SDK do Aplicativo Windows. Em vez de criar uma carga XML, você chama um método e passa um número ou um valor BadgeNotificationGlyph .
- APIs importantes: classe BadgeNotificationManager, enumeração BadgeNotificationGlyph
![]()
O aplicativo Da Galeria do WinUI 3 inclui exemplos interativos de controles e recursos do WinUI. Obtenha o aplicativo na Microsoft Store ou navegue pelo código-fonte em GitHub.
Importante
BadgeNotificationManager requer a identidade do pacote. Se o aplicativo não tiver a identidade do pacote, por exemplo, porque ele está desempacotado, as chamadas para SetBadgeAsCount, SetBadgeAsGlyph e ClearBadge geram uma exceção. Para obter mais informações, consulte Uma visão geral da Identidade do Pacote em aplicativos Windows.
O selo é exibido no ícone da barra de tarefas do aplicativo. Se o aplicativo estiver fixado na barra de tarefas, o selo será exibido mesmo quando o aplicativo não estiver em execução. Para obter a BadgeNotificationManager instância do aplicativo, use a propriedade Current .
Os exemplos a seguir são baseados no exemplo da Galeria do WinUI 3. Para usá-las, adicione uma using Microsoft.Windows.BadgeNotifications; diretiva ao arquivo de código.
Definir um selo numérico
Chame SetBadgeAsCount e passe o número para mostrar. Se o número for maior que 99, o selo mostrará "99+".
private void SetBadgeCountButton_Click(object sender, RoutedEventArgs e)
{
// Show the number 5 on the app's taskbar icon.
BadgeNotificationManager.Current.SetBadgeAsCount(5);
}
Definir um selo de glifo
Chame SetBadgeAsGlyph e passe um valor BadgeNotificationGlyph. Os valores de enumeração correspondem aos glifos na tabela de selos de glifo .
private void SetBadgeGlyphButton_Click(object sender, RoutedEventArgs e)
{
// Show the alert glyph on the app's taskbar icon.
BadgeNotificationManager.Current.SetBadgeAsGlyph(BadgeNotificationGlyph.Alert);
}
Remover o selo
Chame ClearBadge para remover o badge. Definir a contagem como 0, ou usar o glifo BadgeNotificationGlyph.None, também remove o selo de notificação.
private void ClearBadgeButton_Click(object sender, RoutedEventArgs e)
{
BadgeNotificationManager.Current.ClearBadge();
}
Criar um selo com a API UWP BadgeUpdateManager
Esses exemplos usam a classe BadgeUpdateManager no namespace Windows RuntimeWindows.UI.Notifications, que é a API de badge para aplicativos UWP. Você cria o badge como um payload XML, usando os valores nas tabelas anteriores. Se o aplicativo usar SDK do Aplicativo Windows 1.7 ou posterior, use BadgeNotificationManager.
Criar um selo numérico
private void setBadgeNumber(int num)
{
// Get the blank badge XML payload for a badge number
XmlDocument badgeXml =
BadgeUpdateManager.GetTemplateContent(BadgeTemplateType.BadgeNumber);
// Set the value of the badge in the XML to our number
XmlElement badgeElement = badgeXml.SelectSingleNode("/badge") as XmlElement;
badgeElement.SetAttribute("value", num.ToString());
// Create the badge notification
BadgeNotification badge = new BadgeNotification(badgeXml);
// Create the badge updater for the application
BadgeUpdater badgeUpdater =
BadgeUpdateManager.CreateBadgeUpdaterForApplication();
// And update the badge
badgeUpdater.Update(badge);
}
Criar um selo de glifo
private void updateBadgeGlyph()
{
string badgeGlyphValue = "alert";
// Get the blank badge XML payload for a badge glyph
XmlDocument badgeXml =
BadgeUpdateManager.GetTemplateContent(BadgeTemplateType.BadgeGlyph);
// Set the value of the badge in the XML to our glyph value
Windows.Data.Xml.Dom.XmlElement badgeElement =
badgeXml.SelectSingleNode("/badge") as Windows.Data.Xml.Dom.XmlElement;
badgeElement.SetAttribute("value", badgeGlyphValue);
// Create the badge notification
BadgeNotification badge = new BadgeNotification(badgeXml);
// Create the badge updater for the application
BadgeUpdater badgeUpdater =
BadgeUpdateManager.CreateBadgeUpdaterForApplication();
// And update the badge
badgeUpdater.Update(badge);
}
Remover um selo
private void clearBadge()
{
BadgeUpdateManager.CreateBadgeUpdaterForApplication().Clear();
}
Obter o código de exemplo
-
Exemplo de notificações do SDK do Aplicativo windows
Mostra como enviar notificações do aplicativo e atualizações de selo.
Artigos relacionados
Windows developer