Managing Doze Mode - (phone is on WiFi) calls via cell | calls go to voicemail | calls are missed

The Android Doze problem will only be experienced by phones on Android 6.0 and above and will not occur when the device is on the charger

  • Users with adequate WiFi, but poor cell service, can find their incoming calls going to voicemail if their phone has been sleeping for a while. This happens because after sleeping for some period of time, the Android Doze function turns off WiFi. When a call comes in, RW attempts to awaken the phone but if it doesn’t wake up fast enough to reply to RW’s interrogation they sends the call via cell … but if cell service is unavailable the call goes to voicemail.

Current work around’s

There are currently 3 versions of work arounds available.for the problem that have been developed by community members … these all work with the free version of MacroDroid

Published Method to Manage Doze by @jBen

Some devices and later levels of OS have shown to use a different interval of time before Doze turns off the WiFi made it was necessary to take a different approach. This combined with the major improvements in the Connectivity Status Notifications resulted in the following

The latest iteration has been uploaded to MacroDroid on June 16, 2019 and it is available to anyone as a Template and prevents you from having to build it yourself .

  1. Download from the Play Store and Open the free MacroDroid
  2. Select Templates (center left grey) Home Screen
  3. Search for Doze Detect 9.0 and below - ver 0.9.6 (current version is labeled 0.9.6 and valid for 3.0 RW App and higher) …(‘Doze Detect’ is a valid search argument)
  4. Once located TAP the Macro, then hit the Plus (bottom right in the White circle) to save local on your phone .
    • This should put it in the Macros section of the Home page
    • Ensure it is toggled on … both slides to the right: Category/Communication and Doze Detect (not grayed out).

Change History
6/13/19 Removed the 15 sec timer that changed the basic Android display timeout that users had set, and added the constraint to Not Trigger when in a Call

Due to the occasional failure that required the screen to be turned on and let time out, it is now turned on when the RW Notification is ‘On Cell’, and then when the 2nd RW Notification (which normally will be On WiFi) is detected the display is turned off to conserve battery life

Note: If this doesn’t work for you, it would be helpful if you could provide some feedback, either as a Comment or DM to me @jBen

  • Which Phone & OS level
  • Your description of the problem encountered.
  • Screenshot of the last couple pages of User Logs
    • Logs are accessible from the MacroDroid App / :menu: Menu (top left) / User Logs

Original Method to Manage Doze by @billg

  1. Go to the Play store and install the free Macrodroid app:

The macro turns the screen on every 50 minutes preventing the phone from entering the Doze mode. This will drain the battery a little faster depending on one’s display settings. The app can be turned on and off with a simple toggle.

Turning the screen off immediately after turning it on can extend the battery life BUT on Samsung phones this forces you to use a PIN instead of the fingerprint sensor on your next access. On my S7 I deleted this step and let the screen turn off by itself.

It is quite likely this work-around will also fix a problem where WiFi disconnects in Doze which, in turn, causes the phone to use cellular data (if LTE service is available) while connected to WiFi. That problem can also be fixed by toggling WiFi off and back on again but the Macrodroid work-around makes that unnecessary.

Alternate version for Android 10, by @littletoucan

This is my final solution for my Pixel running Android 10, a combination of Doze and my few additions:

Updated 4/10/2019

This discussion has been ‘trimmed’ to just contain the original and latest iteration of the available fix. It is readily admitted that this does not ‘fix’ all the problems that users may encounter when the WiFi is disabled by Doze (an Android function), but it has been a help to some

  • If you try this and it doesn’t work for you, please provide feedback via a comment or DM to @jben, so we can understand how the problem manifests itself in your environment

Hi @billg,

I can see there was an edit today.

Are there any changes?



If you click on the 42 at the top right of the post…you can see a side-by-side comparison of the last two versions.

Looks like the only change was clarification that Macrodroid can be downloaded from the playstore and the free version is sufficient for this functionality.


Thanks. I see now that it was highlighted orange.


My wife and I both recently purchased Moto X4 phones to use with Republic wireless. We both quickly noticed that our calls were going to voicemail, instead of ringing the phone, when our phones had been sitting inactive for an hour or two. This seemed to happen when we had WiFi, but no cellular signal, and the phones were in sleep mode. I read this thread yesterday, and downloaded the recommended app and macro. Since then, both of our phones seem to be receiving calls just fine.


Thanks for the feedback, I also upgraded to an X4 (courtesy of the RW Sale)
I continue to monitor the logs, and will update the published Macro, if a problem is discovered that can be fixed.
Any feedback you or other users have is greatly appreciated

  • Your logs can be accessed by
    • Open the MacroDroid app
    • Access the :menu: Menu the 'User Logs’
      • Any appreciable difference between the ‘On Cell’ and the 'On WiFi time entries may warrant additional review … I see the majority of the recovery between when RW detects On Cell and when we are back on full WiFi in the 0-2 second range (with one outlier I am still chasing)

Thanks for the email. It’s been a number of days now, and the phones have been working perfectly since applying this fix. We are very satisfied now. Thanks very much for your help.


Hi @jben,

I’m using Doze Detect v. 0.9.4 on a Moto G7 Power and I find it’s a bit aggressive about turning the screen off when I’m trying to use the phone.

I think it’s because the “Else if” statement is set to “Any Content” from the RW app.

For example, if I put the phone in Airplane mode, or need to turn off Wi-Fi, the RW app will create a notification, and my screen shuts off.

You can see that the last few times the screen was turned off, there was no “turn on” action preceeding it - these are times when I was disconnecting from Wi-Fi for various reasons.

Do you think having it turn the screen back off after a delay after turning the screen on would work?

I have been testing ver 0.9.5, which changed a few things and per your delima, I just added a constraint, so that it doesn’t get triggered if on a call
It has been uploaded to MacroDroid, if you test it for a few days and suffer no adverse effects I will update the Tips & Tricks item

ETA: 5/26/19 Others, please feel free to download and test … Please provide any suggestions or fixes you feel would improve it


A post was split to a new topic: Calls going straight to voicemail in last few weeks

Started using 0.9.5 and have had no Doze problems. However, it was maddening to have the screen go to sleep every 15 seconds while trying to use the phone. It that value crucial?
Thanks - Ford

Screen timeout every15 secs… should be a function of your phone. The app only uses this to turn on the screen, which wakes up the phone and allows WiFi communications.
Check your display timeout in the Android settings

Still trying to figure it out. I set the Android Settings timeout to 5 minutes. Then, I tested the macro actions and settings had changed to 15 seconds. I edited the macro to a 30 second timeout and will see if the android 5 minutes gets changed.

I’m noticing that with this macro enabled, I can no longer use my fingerprint to unlock my Moto 5Gs most of the time. I end up needing to enter the PIN. I know Android will require a PIN every few days or so, but this seems to be triggering far more often, likely every time the macro kicks in to turn WiFi back on. Is there any reason it would be messing with this PIN/fingerprint timeout setting?

I’ve been experiencing problems with the fingerprint sensing on my S7 too. That worked fine until about 6 weeks ago. I attributed it to the last security update but that was just a wild guess. I’ve now disabled the Macro and will let you know if my fingerprint reader works better.

Update: I turned my fingerprint sensor back on and tested it extensively with and without Macrodroid running. It is working perfectly now. I can’t explain why it was working poorly but it might have been fixed when I deleted some apps a short time back and I just didn’t know it.

Are you running anything that turns on the vpn lock icon? I have seen a problem when I was using for DNS, as it utilizes the internal vpn code structure.

Hi @jben,

On my G7, the “screen timeout” function you have in 0.9.5 changes the Android Setting, it’s not simply acting as a timer for that “screen on” event. So, although I keep my screen timeout set to 5 minutes in Android Settings, every time the macro runs, it changes that Android Setting back to 15 seconds.

1 Like

I guess that MacroDroid just doesn’t understand my DWIM code (Do What I Mean) :blush:
I have deleted 0.9.5 from the repository and made the following changes to 0.9.6

  • Deleted the Screen Timeout value change (was 15 sec, and yes it changed the Android settings) as reported by @davids.i9v6hj, verified by @southpaw and @amitl … my bad
  • Marked as Latest and published as of 6/13/19

8 posts were split to a new topic: Deep dive into the Macrodroid Macro to overcome Doze Mode based on RW status notifications

I’m still playing around with this. The constraints reflect my situation at home: WiFi only (I’m in a dead zone), not charging, not in a call.

I disabled “screen off” because my phone requires a PIN (vs fingerprint) after an “on/off” sequence. I just let the screen timeout on its own.

1 Like
Message an
Expert customer