Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Um selo de notificação transmite informações de resumo ou status específicas do seu aplicativo. Podem ser numéricos (1-99) ou um de um conjunto de glifos fornecidos pelo sistema. Exemplos de informações melhor transmitidas por meio de um selo incluem o status da conexão de rede em um jogo online, o status do usuário em um aplicativo de mensagens, o número de e-mails não lidos em um aplicativo de email e o 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. As insígnias podem ser exibidas em todos os tamanhos de blocos.
Note
Você não pode fornecer sua própria imagem de selo; apenas imagens de crachás fornecidas pelo sistema podem ser usadas.
Insígnias Numéricas
| Value | Badge | XML |
|---|---|---|
| Um número de 1 a 99. Um valor de 0 é equivalente ao valor do glifo "nenhum" e limpará o selo. |
|
<badge value="1"/> |
| Qualquer número superior a 99. |
|
<badge value="100"/> |
Distintivos de glifos
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 crachá mostrado.) | <badge value="none"/> |
| actividade |
|
<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 badge numa aplicação do SDK de Aplicações Windows
A partir do SDK de Aplicações Windows 1.7, use a classe BadgeNotificationManager no Microsoft.Windows.BadgeNotifications namespace para definir e limpar badges. Esta é a abordagem recomendada para aplicações do SDK de Aplicações Windows. Em vez de construir uma carga útil XML, chama-se um método e passa-se um número ou um valor BadgeNotificationGlyph.
- APIs principais: classe BadgeNotificationManager, enumeração BadgeNotificationGlyph
![]()
A aplicação WinUI 3 Gallery inclui exemplos interativos de controlos e funcionalidades WinUI. Descarrega a aplicação na Microsoft Store ou navega pelo código-fonte no GitHub.
Importante
BadgeNotificationManager requer identidade do pacote. Se a sua aplicação não tiver identidade de pacote, por exemplo porque não está empacotada, as chamadas a SetBadgeAsCount, SetBadgeAsGlyph e ClearBadge lançam uma exceção. Para mais informações, consulte Uma visão geral da Identidade de Pacotes nas aplicações Windows.
O emblema aparece no ícone da barra de tarefas da sua aplicação. Se a aplicação estiver fixada na barra de tarefas, o emblema aparece mesmo quando a aplicação não está a correr. Para obter a BadgeNotificationManager instância para a sua aplicação, use a propriedade Current .
Os exemplos seguintes baseiam-se no exemplo da Galeria WinUI 3. Para os usar, adiciona uma diretiva using Microsoft.Windows.BadgeNotifications; ao teu ficheiro de código.
Defina um emblema numérico
Chame SetBadgeAsCount e passe o número a apresentar. Se o número for superior a 99, o emblema mostra "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 emblema de glifo
Chame SetBadgeAsGlyph e passe um valor BadgeNotificationGlyph. Os valores de enumeração correspondem aos glifos na tabela de insígnias de glifos .
private void SetBadgeGlyphButton_Click(object sender, RoutedEventArgs e)
{
// Show the alert glyph on the app's taskbar icon.
BadgeNotificationManager.Current.SetBadgeAsGlyph(BadgeNotificationGlyph.Alert);
}
Remover distintivo
Ligue para ClearBadge para remover o distintivo. Definir uma contagem de 0, ou o glifo BadgeNotificationGlyph.None, também limpa o emblema.
private void ClearBadgeButton_Click(object sender, RoutedEventArgs e)
{
BadgeNotificationManager.Current.ClearBadge();
}
Crie um badge com a API UWP BadgeUpdateManager
Estes exemplos utilizam a classe BadgeUpdateManager no espaço de nomes Windows RuntimeWindows.UI.Notifications, que é a API de badge para aplicações UWP. Constróis o badge como um payload XML, usando os valores das tabelas anteriores. Se a sua aplicação usar o SDK de Aplicações Windows 1.7 ou posterior, use o BadgeNotificationManager em vez disso.
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);
}
Limpar um selo
private void clearBadge()
{
BadgeUpdateManager.CreateBadgeUpdaterForApplication().Clear();
}
Obter o código de exemplo
-
Exemplo de notificações do SDK de aplicações Windows
Mostra como enviar notificações de apps e atualizações de ícones de notificação.
Artigos relacionados
Windows developer