Для запуска вещей в фоновом режиме (или вне основного потока приложения) есть несколько вариантов. Чтобы сделать что-то очень быстрое в фоновом режиме, проще всего использовать AsyncTask. Похоже, вы хотите реализовать немного больше, чем AsyncTask будет обрабатывать, хотя. Для более долгосрочных задач, которые вы хотите запустить за кулисами, вам, вероятно, нужна Служба.
У вас могут быть службы, которые работают, делают то, что они должны делать, а затем выходят, и у вас могут быть службы, которые продолжают работать. Сервисы имеют большую глубину. Вы можете использовать AlarmService, на который ссылается выше другой пользователь, однако другой подход заключается в том, чтобы просто сделать простой сервис и использовать TimerTask http://developer.android.com/reference/java/util/TimerTask.htm
Помните, однако, что когда вы выполняете какие-либо действия в Сервисе, они будут выполняться в Основном потоке, что может замедлять работу других программ, поэтому любая логика в течение длительных периодов времени должна выполняться в AsyncTask.