Creating Alarms and Reminders for Windows Phone


With Windows Phone Mango, Microsoft introduced over 500 new features, big and small. One of the features it introduced was programmatic access to the alarms and reminders feature on the Windows Phone platform.

Alarms and reminders are two types of scheduled notifications, both of which reside in the Microsoft.Phone.Scheduler namespace.

The difference between an alarm and a reminder is that a reminder includes all the features of the alarm but in addition, a user can specify a URI. When a reminder pops up, a user can click it resulting in launching of the application and the URI is passed to it.

Hands On

To see the behavior of alarms and reminders ourselves, let's create a demo application. Create a new Silverlight for Windows phone application called WPAlarmDemo.

Now, add 4 buttons called "Add Alarm", "Delete Alarm", "Add reminder" and "Delete Reminder".

Your UI at this point should look like this:

My Application UI
Figure 1: "My Application" UI

For simplicity's sake, we will set our alarm and reminder to 10 seconds from the current system time. This will help speed up our testing.

On the code behind for MainPage.xaml page (MainPage.xaml.cs), add two variables of type Alarm and Reminder called "alarm" and "reminder".

public partial class MainPage : PhoneApplicationPage
        Alarm alarm;
        Reminder reminder;
        // Constructor
        public MainPage()

Double click the "Add Alarm" button and enter the following code

private void buttonAddAlarm_Click(object sender, RoutedEventArgs e)
            alarm = new Alarm("MyAlarm");
            alarm.BeginTime = DateTime.Now.AddSeconds(10);
            alarm.Content = "Alarm has fired";

Now Add code to remove the alarm from the ScheduledAction list.

private void buttonDeleteAlarm_Click(object sender, RoutedEventArgs e)

Now, add similar code for the event handler for the click event on "Add Reminder" button.

private void buttonAddReminder_Click(object sender, RoutedEventArgs e)
            reminder = new Reminder("MyReminder");
            reminder.BeginTime = DateTime.Now.AddSeconds(10);
            reminder.Content = "Reminder has fired";
            reminder.Title = "Reminder Demo";

Finally, add code to remove the reminder from the ScheduledAction list.

private void buttonDeleteReminder_Click(object sender, RoutedEventArgs e)

You are now ready to test your sample. Compile and execute your sample. If you are having issues compiling the code, you can get the sample code for this exercise below.

When we execute the application, click on the "Add Alarm" button. Wait for 10 seconds; you will see an alarm notification on the application page.

Alarm notification
Figure 2: Alarm notification

We can dismiss the alarm by clicking the "dismiss" button.

Now, click the "Add Reminder" button. After 10 seconds, we see a reminder show up.

Reminder Demo
Figure 3: Reminder Demo

In this demo application, I have not specified an URI but you might want to consider using that to get the full leverage from the reminder feature.


In this article, we learned how to create alarms and reminders in a Windows Phone application.

About the Author

Vipul Vipul Patel

Vipul Patel is a Software Engineer currently working at Microsoft Corporation, working in the Office Communications Group and has worked in the .NET team earlier in the Base Class libraries and the Debugging and Profiling team. He can be reached at

Related Articles



  • ENipIC tW XU hpH HaIz HC

    Posted by egWFfjgniV on 06/24/2013 04:09pm

    Continue Reading viagra online price comparison - can you buy generic viagra from a store

  • Mr

    Posted by Robert Tate on 06/30/2012 01:26am

    Hi, My wife and I are both on medication which has to be taken every other day. My question is can I set 2 alarms on my Nokia 800 so I am reminded whose turn it is to take their pill. Robert

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • As the mobile enterprise marketplace expands and customer needs grow more diverse, Samsung recognizes that solution partners and developers play an essential role by continually innovating to meet their customers' needs. Samsung works to provide these developers and partners with the latest tools and resources needed to create these solutions. Read this program guide to learn how the Samsung Enterprise Alliance Program provides partners and developers with Samsung enterprise software development kits (SDKs) …

  • Power and Automation Equipment makers face constrained CAPEX, equipment interoperability issues, and process inefficiencies. However, they can take advantage of secure Internet of Things (IoT) intelligent devices and systems to make better business decisions around asset utilization and performance, while simultaneously optimizing equipment interoperability and services efficiency. Watch this brief video to see how you can unlock the full potential of your assets and value chain.

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date