7

I'm looking for a way to delay notifications on a per-app-basis to a specific time threshold.

For example, I don't want to get gmail notifications more than hourly. I don't want text message notifications more than once a minute.

I know there are individual apps that provide this, but I'm looking for something system-wide and customizable. Root is obviously acceptable.

willlma
  • 215
  • 2
  • 10

2 Answers2

2

Light Flow will do this for you. Switch of sound or vibrate for the individual apps and set them up in Light Flow. The option "too many notifications" can be used to select the maximum repeat count.
Rooting is not necessary, except on some phone to alter the LED notifications.

The app is capable to adjust for all notifications or depending on application: - sound and volumes (absolute or relative) - vibration on / off or patterns - popups - screen on on notification - sleep mode based on time or NFC - led colors / patterns or camera flash - repeat notifications and rate limiting

Reddy Lutonadio
  • 7,164
  • 2
  • 17
  • 49
Requist
  • 335
  • 1
  • 3
  • 12
  • Will Light Flow actually "delay" the notifications from apps? It seems like it's more about colors. – Bort Dec 06 '14 at 17:44
  • @Bort: It will do rate limiting, and that is what I believe the questioner wants. But I added the main functionality of the program. – Requist Dec 06 '14 at 20:41
  • It seems the settings you're suggesting would continue to notify the user every x minutes for the same notification. Which means that if I set SMS to one minute, then my phone will vibrate every minute until I respond to the notification, resulting in more notifications than without Light Flow. Let me know if I've misunderstood. – willlma Dec 08 '14 at 18:07
  • @willlma: You can do both, so "rate limiting" to adjust the notifications to only get maximum 1 every x minutes (if multiple notification arrive) but you can also have a notification repeat itself every x minutes for like an unseen sms or whatsapp. – Requist Dec 08 '14 at 18:45
  • Got it, thanks. On mine it isn't called "Rate limiting". I found it all the way at the bottom of the "Sounds" menu and it's called "Stop too many notifications." – willlma Dec 08 '14 at 19:00
  • 3
    @Requist Although this is a good answer, Light Flow doesn't delay notifications, it simply kills them. Giving the bounty because it's as close as I think we'll get. But I think it's dangerous to just kill a notification. If I get a message, then check it, then get another message 30 seconds later. It won't buzz. So I won't know that I have a message until I pick up my phone again, potentially hours later. I would rather my phone buzzed, but not until after a minute has elapsed. – willlma Dec 08 '14 at 19:18
  • You're right, I was wondering why you would call it a delay but this is indeed a difference. You might be able to achieve this by combining with repeat notification, but then you will be bothered also if there are not multiple notifications, which might not be desired. – Requist Dec 08 '14 at 19:53
-2

Finally after long searching on the Internet and trying common advices 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

  • 1
    While Doze might be a problem, it's not only the problem. The bigger problem is the customization by the manufacturer itself, and from the links mentioned in this answer, looks like it's Samsung. Please refer to Don't Kill my App for more detailed info per manufacturer. That said... this doesn't look like an answer for this question. The question asks to add delay to the notifications, not about an issue getting delayed notifications. – Andrew T. Dec 29 '21 at 10:44
  • This answer is off-topic. I want to delay notifications. I'm trying to find a way to batch notifications and there's still no good solution. – willlma Jan 13 '22 at 06:11