Особенность использования AlarmManager заключается в том, что при срабатывании и при перезагрузке системы их необходимо устанавливать заново (реализация на разных версиях апи немного различается). Как идея, хранить информацию о будильниках в базе / sharedPreferences, и на основании этой информации использовать тот же AlarmManager.