Con il recente update per Windows Phone 8, noto come GDR3, sono state inserite poche novità, ma fra queste è presente una molto interessante, che riguarda le notifiche toast. Quest'ultime solitamente hanno lo stesso comportamento per tutte le app e sempre lo stesso suono. Con questo nuovo update, invece, possiamo personalizzare la notifica, indicando una traccia audio personalizzata da riprodurre, oppure silenziando la notifica stessa.
Possiamo usufruire di questa possibilità sia con le API client, sia con quelle server. Nel primo caso, dobbiamo accertarci con lo script #119 che l'utente stia usando un Windows Phone con l'update. Poiché non sono state introdotte nuove API e non disponiamo di un nuovo SDK, dobbiamo impostare il suono da riprodurre attraverso reflection, con la funzione seguente.
private void SetSound(ShellToast instance, Uri value)
{
var setMethod = instance.GetType().GetProperty("Sound").GetSetMethod();
setMethod.Invoke(instance, new object[] { value });
}Possiamo, a questo punto, preparare la toast e impostare il suono da riprodurre, che può essere in formato WAV, WMA o MP3, fino ad un massimo di 10 secondi. Il file può trovarsi nelle risorse stesse dell'app, oppure nello storage, permettendoci quindi di caricare un suono dinamicamente. Nello script seguente possiamo vedere come impostare un suono presente nelle risorse.
public void ShowToast(bool useCustomSound, bool useWavFormat, bool doSilentToast)
{
ShellToast toast = new ShellToast();
toast.Title = "[title]";
toast.Content = "[content]";
if (IsTargetedVersion)
{
SetSound(toast, new Uri("Beep.wav", UriKind.Relative));
}
toast.Show();
}
Per rendere silenziosa la toast, è sufficiente valorizzare la proprietà Sound con un Uri vuoto. Nel caso di notifiche lato server, valgono le stesse informazioni, ma occorre utilizzare il nodo wp:Sound con l'URI del suono da riprodurre.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Usare il metodo nameof con un tipo generico in C# 14
Esporre tool MCP da API REST con Azure App Service
Angular Standalone Components: applicazioni più semplici senza NgModule
Utilizzare i named query filter di Entity Framework
Importare repository da Bitbucket a GitHub Enterprise Cloud
Utilizzare le librerie native di .NET per comprimere uno o più file in formato ZIP
Introduzione a GitHub Copilot CLI
Integrare LLM alle nostre applicazioni in .NET con MCP
Configurare OpenTelemetry per Application Insights su ASP.NET Core
Impostare automaticamente l'altezza del font tramite CSS
Supporto nativo a JSON in SQL Server 2025
Nuove validazioni Form Blazor
I più letti di oggi
- Personalizare l'icona e le funzionalità di un sito web per iOS e IE
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Accedere a risorse e immagini in Windows Store app di Windows 8
- Effetto turnstile su tutte le pagine con il Windows Phone Toolkit
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Permettere il Drag-and-drop solo su zone predefinite con Silverlight 2.0
- Accedere a dati esposti con WebService con Silverlight 1.0


