Could use a WorkManager background service, or CoroutineWorker if using Kotlin Coroutines
Discussion
WorkManagers are long lived and usually not cancelled by android os unless they're real battery hogs. Could use one to periodically query for user notifications from relays