Sua abordagem está correta.
A única coisa que você precisa adicionar é persistir em DB ou em outro lugar. Cada vez que o usuário configura coisas e você interage com AlarmManager
, coloque -o também em um arquivo.
Quando você fica BOOT_COMPLETED
, carregue dados e defina todos os alarmes anteriormente.