Pesquisar
Projeto exclusivo

Correção do ícone nas notificações (Windows e macOS)

hoje às 09:42

Descrição do Projeto:

Bom dia, Henrique. Implementei uma função para mostrar notificações no app, mas o ícone não está sendo exibido corretamente. Entendo que o problema está relacionado ao registro do package name (identificador do pacote).

public static void SendNotification(string title, string body)
{
if (OperatingSystem.IsLinux())
{
Process.Start("notify-send", $"\"{title}\" \"{body}\"");
}
else if (OperatingSystem.IsWindows())
{
// PowerShell toast - no extra packages needed
var script = $"""
[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType=WindowsRuntime] | Out-Null
$template = [Windows.UI.Notifications.ToastTemplateType]::ToastText02
$xml = [Windows.UI.Notifications.ToastNotificationManager]::GetTemplateContent($template)
$xml.GetElementsByTagName('text')[0].AppendChild($xml.CreateTextNode('{title}')) | Out-Null
$xml.GetElementsByTagName('text')[1].AppendChild($xml.CreateTextNode('{body}')) | Out-Null
$toast = [Windows.UI.Notifications.ToastNotification]::new($xml)
[Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier('MyApp').Show($toast)
""";
Process.Start(new ProcessStartInfo("powershell", $"-Command \"{script}\"") { CreateNoWindow = true });
}
else if (OperatingSystem.IsMacOS())
{
var psi = new ProcessStartInfo("osascript")
{
UseShellExecute = false,
CreateNoWindow = true
};
psi.ArgumentList.Add("-e");
string EscapeAppleScript(string s) => s is null ? "" : s.Replace("\"", "\\\"").Replace("\n", " ");
psi.ArgumentList.Add($"display notification \"{EscapeAppleScript(body)}\" with title \"{EscapeAppleScript(title)}\"");

// Set the bundle identifier so macOS links the notification to your app
psi.EnvironmentVariables["OSASCRIPT_APP_IDENTIFIER"] = "one.frx.trayicon";

//osascript -e 'tell application id "one.frx.trayicon" to display notification "Hello body" with title "Hello title"'
Process.Start(psi);
}
}

Gostaria de saber se consegue arrumar, mostrando o ícone correto tanto no macOS quanto no Windows.

Já tentei usar a biblioteca OSNotifications, mas ela quebra o app.

Tem dúvidas? Faça uma pergunta.

ou

Enviar proposta

Informações adicionais

Categoria: Web, Mobile & Software
Subcategoria: Desenvolvimento Desktop
Orçamento: Aberto
Nível de experiência: Iniciante
Visibilidade: Público
Propostas: 2
Interessados: 2
Tempo restante:
Valor Mínimo: R$ 50,00
Propostas (2)
  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

Nenhuma proposta foi encontrada.

Carregando...
Projetos semelhantes no 99Freelas

Sistema para imprimir etiquetas de entrega para iFood - Tenho uma empresa e preciso fazer entregas com motoboy de produtos em sacolas de papel iguais às de lanche. Como são várias entregas ao longo do dia, atualmente preciso anotar ...

Configurar TrueNAS em servidor físico - Já possuímos um servidor físico instalado na rede, que está executando TrueNAS, mas ele se desconectou de um computador específico. Precisamos configurá-lo...

Sistema integrado de gestão e faturamento (SIGF-CAPS) - Proposta para desenvolvimento do SIGF-CAPS: plataforma middleware que fará a integração entre o SISHOSP e os sistemas de faturamento RAAS e BPA, automatizando o preenchimento, ...

Formulário offline de associado com captura de foto e biometria - Estou precisando fazer um formulário que vai trabalhar off-line. Nele vou coletar alguns dados das pessoas que abordarei para se associar ao nosso sindicato: nome, endereço, CPF, e-ma...

Instalação do CorelDRAW e do Adobe Photoshop em português - Preciso de alguém para baixar e instalar o CorelDRAW e o Adobe Photoshop em português no meu PC. Baixei uma versão, mas ela está em inglês e não consigo alte...

Carregando...

Carregando...

Pesquisar

FREELANCERS
PROJETOS
Ocorreu um erro inesperado. Caso o erro persista, entre em contato conosco através do e-mail suporte@99freelas.com.br.