L'applicazione di allarme & Clock utilizzava Notifica di pianificazione programmata anziché attività in background.
Ecco il codice di esempio per programmare un brindisi in 10 secondi.
namespace UWPApp
{
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
public sealed partial class MainPage : Page
{
private Random random = new Random((int)DateTime.Now.Ticks);
const string TOAST = @"
<toast>
<visual>
<binding template=""ToastGeneric"">
<text>Sample</text>
<text>This is a simple toast notification example</text>
<image placement = ""AppLogoOverride"" src=""oneAlarm.png"" />
</binding>
</visual>
<actions>
<action content = ""check"" arguments=""check"" imageUri=""check.png"" />
<action content = ""cancel"" arguments=""cancel""/>
</actions>
<audio src =""ms-winsoundevent:Notification.Reminder""/>
</toast>";
public MainPage()
{
this.InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
var when = DateTime.Now.AddSeconds(10);
var offset = new DateTimeOffset(when);
Windows.Data.Xml.Dom.XmlDocument xml = new Windows.Data.Xml.Dom.XmlDocument();
xml.LoadXml(TOAST);
ScheduledToastNotification toast = new ScheduledToastNotification(xml, offset);
toast.Id = random.Next(1, 100000000).ToString();
ToastNotificationManager.CreateToastNotifier().AddToSchedule(toast);
}
}
}
fonte
2015-10-02 07:19:16
Allarme e promemoria sono diversi. Non hai bisogno di 'TimeTrigger' per loro. http://stackoverflow.com/questions/31740884/can-i-create-an-alarm-app-for-window-universal-app –
Ho passato il codice di esempio su Github e ho scoperto che l'allarme e altri toast sono mostrati in base al clic del pulsante. Sai come può essere collegato a un timer che funziona anche se l'app in primo piano non è in esecuzione? Non sono sicuro, come funziona in orari prestabiliti. È fatto da "ToastNotificationManager.CreateToastNotifier(). AddToSchedule" come ha sottolineato Jeffrey? Qualche codice per quello sugli esempi di Github per Windows 10? –
Qualche idea su come pianificare-eseguire un blocco di codice in questo modo simile (può essere inferiore a 15 minuti, in base all'ora selezionata dall'utente)? –