You should use an AlarmManager that sends pending intents. You can use multiple intents and broadcast recievers. In the broadcast recievers you can start a service. This way you can start multiple services at different times or together if you want.
You can use the Alarmmanager to send repeated alarms, or you could use it in one of the services and set a new time for your pending intent.
Do not use a timer!
The benefit of doing it this way is that this all works when the Activity is not active.
You can bind to a service as shown in the example, but if you want to pass data from a service to an activity you can just use the application object, or a singleton. Also I would use an IntentService, which automatically does its work of the main thread. If you want to do something on a different thread that should more closely interact with the Activity I would use an AsyncTask or a Thread.