Best practice for requesting full-screen intent + battery optimization exemption without excessive first-run friction (React Native/Expo)


I'm building a reminder/alarm app in React Native with Expo. To ensure reminders fire reliably on Android 14+, I currently need users to manually grant:

- Notifications

- Alarms & reminders (SCHEDULE_EXACT_ALARM)

- Full-screen intents (USE_FULL_SCREEN_INTENT)

- Battery optimization exemption

- Display over other apps

This results in a multi-step manual settings walkthrough on first run, which is more friction than most alarm apps seem to require.

Is there a way to reduce the number of manual steps, or a recommended sequence/UX pattern that minimizes friction while still ensuring reliable delivery? Particularly interested in any Expo-specific approaches, since some of this sits outside Expo's default notification APIs.

-1
Aug 8 at 3:35 AM
User AvatarLagooners
#best-practices#android#react-native#expo#notifications

No answer found for this question yet.