Not getting notifications at all can be quite a problem but getting notifications late is no less annoying. Some users report that they are getting delayed notifications on Android. Some apps function as intended with notifications coming through as fast as possible while notifications from affected apps appear suddenly, sometimes hours too late.
If you have issues with notifications, we have a few solutions to suggest. Check the steps we listed below.
Table of contents:
- Check notification settings
- Ensure that apps are allowed to work in the background
- Check background data usage
- Remove the app from the Sleeping apps list
Why am I not getting notifications immediately?
1. Check notification settings
The first thing to check is in-app notification settings. Some apps offer delayed notifications but there’s a low chance that you enabled this by accident. Nonetheless, make sure to open the app that shows delayed notifications and check the settings.
For example, Gmail is notorious for delayed notifications and we have an issue with this app so it’s easy to replicate the problem. Here’s what we had to do to fix it:
- Open Gmail.
- Tap on the hamburger menu and open Settings.
- Select your account.
- Tap Email notifications and select All.
- Now, tap Inbox notifications and make sure that Notify for every message option is enabled.
This is just an example and it definitely differs from notification settings on other apps that are not Android email clients. Of course, you can tell us about the app that’s bothering you so we can look it up and provide some insight.
2. Ensure that apps are allowed to work in the background
This one is important. In order for push notifications to work in a timely manner, the app needs to work in the background. And considering some OEMs are known for killing off background apps so you can get that two-day-long battery life, we have a good idea why notifications get delayed on Android.
So, make sure to navigate to Settings > Apps > All apps. And, once there, open the app that doesn’t provide timely notifications. Open Battery optimization and disable the battery optimization for that app. Also, make sure there’s usually a toggle that allows the app to work in the background. Make sure to enable this option before moving on.
3. Check background data usage
We can’t forget the fact that the majority of apps and services we use depend on the internet connection. And, while we are on the move, many of us rely on mobile data. However, this is a metered connection, and the system might limit the background usage of mobile data on some apps to prevent going over the data cap.
That’s why we recommend navigating again to System settings > Apps > All apps. Once you open the app that shows delayed notifications, open Wi-Fi and mobile data (or Mobile data), and enable Allow background data usage.
You can also disable the Data saver option. Open Settings > Network & internet and disable Data saver from there. On Samsung devices, open Settings > Connections > Data usage and disable Data saver.
If you are still getting delayed notifications on Android, check the next step.
4. Remove the app from the Sleeping apps list
As we already mentioned, a big battery can get you longer autonomy but optimization is what gives it an extra mile. And that’s where some OEMs can be a bit too radical for my taste. Although the idea is to put to sleep apps you are not using, freezing apps will often prevent them from updating and from showing notifications.
Samsung and Xiaomi (along with its subsidiaries) are well-known for this. The aggressive approach might be the reason why certain apps are not showing notifications.
So, look for Sleeping apps and make sure that the app you are using is not on the list. On Samsung, open Settings > Battery and device care > Battery > Background usage limits. Once there, disable Put unused apps to sleep. Or, you can add the app you want to the Never sleeping apps list.
For Xiaomi, users suggest navigating to Developer options and disabling MIUI Optimization.
If you use multiple devices with the same account, push notifications might be slower on one device. And we don’t really have an explanation for that.
That should do it. Thank you for reading and feel free to share your thoughts with us in the comments section below.
Real problem with the delayed notifications is unfortunately totally different and none of this settings help. After long searching on the Internet and trying common advices like this as a disabling battery optimizations, Adaptive Notifications and all those features that didn’t help at all, I found the XDA Developers forum where I finally got to the bottom of this issue.
This problem is caused by functionality called as “DOZE”, which is implemented in the Android core since Android 6.
https://developer.android.com/training/monitoring-device-state/doze-standby
Basically what is does is that it tries to preserve the phone battery life in a very aggressive way that basically puts all applications and network activity to standby until the maintenance window occurs. The maintenance window is a very short time period where all events from applications waiting in the queue are processed at once and then it puts all apps to standby again until next maintenance window occurs.
Problem is that with every next maintenance window the intervals between those windows are increasing every time up to some long limit. So if you haven’t touched your phone for a longer time, like half an hour and the event happens, you will get the notification in the next maintenance window that may be tens of minutes from that moment.
I don’t know how Google can act as this is OK. It is NOT!! For me it was causing serious problems with my Forex trading app that didn’t display price alerts on time when the event happened but like 5, 15, 30 minutes or even almost 1 hour later !! which is not useful for me because the opportunity for the trade was already gone…
So solution is to disable the “DOZE” in your phone manually using ADB commands.
I did it and it works, now I get instant notifications. Unfortunately this has to be done every time after phone reboot as it turns itself the DOZE back on again.
Here is a page with more details:
https://stackoverflow.com/questions/40204605/android-completely-disabling-deviceidle-doze-in-android-m
Basically you just issue this ADB command: dumpsys deviceidle disable
You can also put the application to the Doze whitelist but not sure if it works, when I displayed the list, I found out my trading app was already there, maybe because I removed it from the Battery saving policy but the Doze was probably still suspending everything so it worked only in those maintenance windows. I guess it doesn’t use those “high-priority FCM messages” described in the DOZE description to force the notifications instantly.
If you are not familiar with ADB, here is some info:
https://developer.android.com/studio/command-line/adb
I used a paid app that allows local ADB connection from the phone directly, so I can disable DOZE after every restart. More info here:
https://forum.xda-developers.com/t/say-hello-to-ladb-a-local-adb-shell-without-needing-root-or-a-computer.4204855/
It is very sad that this basic feature as an instant notifications have to be fixed via the developer debug interface by user instead of Google who could fix it in the OS itself…shame on Google…
More forums on this topic:
https://forum.xda-developers.com/t/psa-how-to-fix-the-notification-delay-or-non-receipt-issue-truly-pathetic-of-google-and-samsung.4276505/
https://forum.xda-developers.com/t/delayed-notification-problems-s21-ultra.4243105/page-5