Home/Help Center/Android notifications

Troubleshooting

Android Notifications Not Arriving

New message pushes not showing on Android. The permission prompt-once gate, the FCM token registration check, and the exact order to fix each cause.

By Chirag Darji · Updated 27 Aug 2026 · 7 min read

On this page
  1. Symptom
  2. Why it happens
  3. Fix
  4. How VGraple CRM handles it automatically
  5. Prevention
  6. What if only some notifications are missing, not all?
VGraple CRM Android app inbox

Missing push notifications on Android almost always trace back to one of three things: the notification permission was never actually granted, the device's push token was never successfully registered with the server, or Android's own battery optimisation is holding the app back. Each has a specific, checkable fix.

Symptom

New messages or account alerts (a WhatsApp connection needing attention, a system-wide notice) do not produce a notification on the Android device, even though the app is installed and the user is signed in. The message or alert itself is usually visible once the app is opened manually; it is specifically the push notification that failed to arrive, not the underlying data.

Why it happens

The single most common cause is notification permission never having been genuinely granted. The app requests Android's notification permission at most once per install, deliberately, and only from an explicit entry point such as login or first launch, never automatically on app foreground. This is a considered design choice: requesting the permission on every return to the foreground was found to trigger Android's own permission dialog in a way that itself changes the app's foreground/background state, which on some devices (OnePlus phones specifically) created a flicker-and-close loop that Android's own system ended by killing the app entirely. If the one prompt was denied, dismissed, or answered before fully reading it, the app does not ask again on its own; the permission has to be granted manually from Android's system settings for the app.

Notification settings in VGraple CRM for push, email and WhatsApp alerts

A second cause is the device's push token (issued by Firebase Cloud Messaging) never having been successfully registered with the server, or having changed without a successful re-registration. This can happen if the very first registration attempt, right after granting permission, failed due to a network issue, since a failed registration is designed to retry on the next launch or foreground return rather than being silently accepted as done.

A third, less common cause is Android's own battery optimisation restricting the app's ability to receive background pushes reliably, a device-level setting entirely outside the app's control, that varies significantly between Android manufacturers (particularly aggressive on some Chinese OEM skins).

Fix

  1. Check Android's own app notification settings first. Go to the device's Settings, then Apps, find VGraple CRM, and open Notifications; confirm notifications are allowed at the app level, not just assumed to be on.
  2. Check both notification channels separately if only one type is missing. Messages and System Alerts are distinct channels on Android with independent settings; a message push arriving while an alert push does not (or the reverse) usually means only one channel's permission or sound setting is off.
  3. If permission was never granted, sign out and sign back in, or reinstall, to trigger the one-time prompt again from a genuine entry point, then grant it when asked.
  4. Check the device's battery optimisation settings for the app. On most Android phones this is under Settings, then Battery, then a per-app battery usage or optimisation list; setting VGraple CRM to unrestricted, rather than the manufacturer's default optimised setting, meaningfully improves background push reliability.
  5. Confirm the device has a working internet connection when a message should have arrived. Push delivery depends on the device having connectivity at the time, whether Wi-Fi or mobile data; a device that was fully offline will receive queued pushes only once it reconnects, not necessarily immediately.
  6. If everything above checks out and pushes still are not arriving, sign out and back in to force a fresh token registration cycle, since a stale or previously failed registration can otherwise persist unnoticed.

How VGraple CRM handles it automatically

Notification permission is requested at most once per install and strictly from deliberate entry points (login, first launch), never from an automatic background trigger, specifically to avoid the permission-dialog flicker loop that Android can otherwise fall into on certain devices. Notification channels (Messages and System Alerts) are recreated automatically whenever the installed app version changes, so a bundled notification sound update takes effect correctly after an app update rather than silently continuing to use a stale, cached channel definition. The device's push token is checked on every app launch and every return to the foreground; if it has changed since the last successful registration, the new token is posted to the server automatically, and only a confirmed successful registration is remembered, so a failed attempt correctly retries on the very next opportunity rather than being mistaken for done. A dedicated small icon and channel sound resource are protected from Android's build-time resource shrinker specifically because earlier versions of the app once had these silently stripped from a release build, which made Android reject every notification outright with an internal "no valid small icon" error, a class of failure invisible from outside the app; that specific failure mode has since been fixed and is guarded against on every subsequent release. A conversation that is open and visible on screen never raises a notification for its own new messages, matching WhatsApp's own behaviour, and any pending notification for that conversation clears automatically the moment it is opened or the app is brought back to a screen already showing it.

Example

A salon owner installs the Android app, signs in, and is prompted once for notification permission at that moment; they tap Allow. Weeks later they switch phones and reinstall the app on the new device. The one-time prompt fires again on this fresh install, they grant it again, and the device's new push token registers with the server automatically on that first login, with no separate notification setup step required.

Prevention

Grant the notification permission when the one prompt appears rather than dismissing it to decide later, since the app will not prompt again on its own afterward and the permission then has to be found and granted manually in Android's settings. After any Android OS update or app update, it is worth a quick check of both the notification permission and the battery optimisation setting, since either can occasionally be reset by the update process itself, a device behaviour outside the app's control. On a new device or after a factory reset, treat notification setup as part of the first login, checking that a push actually arrives from a test message soon after signing in, rather than assuming it works silently in the background.

What if only some notifications are missing, not all?

This pattern, some messages producing a notification and others not, usually points to the "open conversation never notifies" behaviour rather than a genuine failure: if the specific conversation was open on screen at the moment a new message arrived, no notification for that message is expected, by design, since the message was already visible. If a specific contact's messages consistently never notify while others do, it is worth checking whether that particular conversation was left open in the background rather than fully closed, since a conversation kept open, even if the phone screen itself is off, still counts as "the chat that is open" for this purpose.

Frequently asked questions

I never saw a notification permission prompt on Android. Why?
The app asks for notification permission at most once per install, only from an explicit entry point like login or first launch, never automatically on every app open. If you denied it that one time, or dismissed it without choosing, the app will not prompt again on its own; it has to be granted from Android's own app settings instead.
Why does the screen sometimes flicker or the app close when a permission prompt appears?
This was a known issue on some Android devices where requesting notification permission on every foreground return created a loop; the app now only prompts from deliberate entry points, never automatically, specifically to prevent this.
Does opening a chat clear its notification, and does that mean I missed something?
No. Opening a conversation on screen clears any pending notification for that specific chat by design, the same behaviour WhatsApp itself uses, since the message is already visible to you; nothing about the message or conversation is lost.
I have notifications on for messages but not for account alerts (like a token expiring). Is that normal?
Messages and alerts are two separate notification channels on Android, Messages and System Alerts, each with its own importance and sound settings. Check both independently in Android's notification settings for the app if one type is arriving and the other is not.
Could a recent Android update be the cause?
Yes, an OS or app update can occasionally reset a notification channel's settings or the app's battery optimisation exemption; check both after any update if pushes stop arriving that were working before.
Does VGraple CRM re-register my device for push notifications automatically?
Yes, on every app launch and every return to the foreground, checking whether the device's current push token still matches what the server has on file, and re-registering only when it has actually changed, so this does not need to be triggered manually.

Run your WhatsApp on VGraple CRM

Free forever plan, official Meta WhatsApp Business API, set up in 15 minutes. No card needed.