Если HeadlessJS не работает для вас, то вам действительно нужно использовать собственный код.
Использование родного Android JobScheduler, как упомянуто здесь:
Документация JobScheduler
определенно работает. Вы можете запланировать периодическое задание с определенным интервалом и дополнительными условиями (такими как активное подключение к Интернету). Не забудьте определить необходимые сервисы в вашем манифесте, как в обычном Android-приложении. Вы можете использовать точки входа MainActivity / MainApplication для определения своей работы.
Ваши задания будут выполняться независимо от того, запущена часть приложения ReactNative или нет. Локальные уведомления могут отображаться даже в фоновом режиме, как эти.