In this post we'll discuss scheduling notifications in Android using JobIntentService & BroadcastReceiver.
For context, we'll be scheduling these notifications for records - contacts with a name, phone number, and email address - stored in the app via Room. We will set a start date and time, as well as a recurrence frequency for the notifications. The notifications will also carry intents, so that when clicked they launch an activity (phone call) with contextual information from the associated contact (their phone number).