Your approach is correct.
The only thing you need to add is persisting it in DB or elsewhere. Every time user sets up stuff and you interact with AlarmManager
, put it also in a file.
When you get BOOT_COMPLETED
, load data and set all previously alarms up.