Nello script precedente #48 abbiamo visto come creare un reminder attraverso Windows Phone 7.1.
I reminder sono molto comodi, ma non consentono di specificare un suono personalizzato, poiché prendono quello di sistema.
Esiste un ulteriore tipo di notifica, chiamata Alarm, che concettualmente è molto simile, ma non consente di entrare all'interno dell'app al click, perché funge da allarme.
In questo caso il codice è il seguente:
string alarmId = "MyAlarm"; Alarm alarm = ScheduledActionService.Find(alarmId) as Alarm; // se esiste già, dobbiamo rimuoverlo if (alarm != null) ScheduledActionService.Remove(alarmId); // creiamo l'alarm alarm = new Alarm(alarmId); alarm.BeginTime = DateTime.Now.AddSeconds(5); alarm.ExpirationTime = DateTime.Now.AddHours(1); alarm.RecurrenceType = RecurrenceInterval.None; alarm.Content = "Ricordati di fare quella cosa!"; alarm.Sound = new Uri("/Alarm.mp3", UriKind.Relative); // aggiungiamo agli alarm e reminder ScheduledActionService.Add(alarm);
Il funzionamento è molto simile a quello dei reminder, ma l'aspetto a video è differente, come si può notare dalla figura che segue:
Occorre spendere 2 parole sulle proprità Sound: deve essere un file contenuto nello XAP e non può essere salvato all'interno dell'Isolated Storage.
Sono supportati MP3, WMA e WAV ed il suono è riprodotto in maniera silenziosa, per poi incrementare il volume. Questo comportamento non può essere cambiato.
Approfondimenti
Creazione di reminder con Windows Phone 7.1https://www.winphoneitalia.com/script/48/Creazione-Reminder-Windows-Phone7.1.aspx
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Utilizzare Model as a Service su Microsoft Azure
Limitare le richieste lato server con l'interactive routing di Blazor 8
Cancellare una run di un workflow di GitHub
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Eseguire attività basate su eventi con Azure Container Jobs
Ottimizzazione dei block template in Angular 17
Evitare la script injection nelle GitHub Actions
Usare un KeyedService di default in ASP.NET Core 8
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Usare le navigation property in QuickGrid di Blazor
Creare alias per tipi generici e tuple in C#