I want to create a scheduler for my app. My current idea is to create a background service which starts up on boot and listens to the date and time. This triggers my application. But I'm guessing this isn't the most efficient method. I googled quite extensively and didn't come up with anything different. Is there a more efficient way than creating a service?

**[EDIT]**

Making my question clearer. I'd like to make something like this.

Say I want to run the app every Monday at 10:00am how would I go about doing that? The method I concocted or something more efficient?