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

With Android 10, at least on a Pixel, Doze is more like putting the phone into a coma. So far Anywhere still works on my computer, but I’m not always on the computer when at home. So I end up checking my phone every few hours.

1 Like

Thank I did do that and sent them to @billg

I read your logs and wow, that is disappointing. Putting your phone in a coma was a good description.

I just found an interesting feature in Android 10.

Apps & Notifications
Screen Time/Notifications recieved/Times opened
Show All Apps
Find RW App and tap on hour glass icon to the far right
Set timer for 23 hours 55 minutes. I’m hoping this will allow RW and Messages to stay alive and not be put into a coma. I’ll let you know if I see improvement.

Just received a small Android update, hoping it’s a bug fix.


I made the tweaks to screen time for RW and Messages, this was no improvement with Doze inactive or active.

Next step, I made a change to Doze. After second Log Event I changed Screen Off to Screen On. So far I’ve received texts on time and WiFi is staying on. Screen will naturally turn off on it’s own. This has also taken care of having to enter password twice to get the phone to unlock.

Since making the change to Doze the log shows that WiFi is on. I’ll report back later in the evening to see if this continues to work after a few hours of inactivity.


Nice work!

1 Like

It works! Have the phone sitting next to me and watched it.

Screen is dark
Screen turns on, arc is hollow
Arc goes solid, screen turns off.
Problem solved!

Correction: I shouldn’t say problem solved, but problem improved. It’s not fool proof. There were a few times when the phone would not regain WiFi. But this is a major improvement from what it was before.



ORIGINAL POST - 9/30/2019
UPDATED TRIGGER - 10/14/2019

Here’s what we have been using successfully with our 2 Moto G6’s for a couple of weeks now. Wanted to test in a few more locations before posting. Sounds like you have done something similar by replacing the screen off in ver 0.9.6. We went with a very simple macro (explained below).

We have fair cell and good WiFi at home but SO will often get a single ring and then call goes to voicemail when the phone sits for a long time. Person calling hears 6-7 rings before going to voicemail. I also use Google Messages on my laptop and operation is intermittent (app doesn’t connect reliably) with my phone. Also have the problem where WiFi disconnects in Doze which, in turn, causes the phone to use cellular data (LTE service is available) while connected to WiFi. A couple of Play Store app updates used cell data while connected to WiFi even with Play Store set to update on WiFi only. Did not expect app updates to use cell data. Looks like Doze causes all these problems by being so aggressive about shutting WiFi off on the phones. The good news….using a MacroDroid macro appears to solve these problems.

Here’s the macro we are using on our Moto G6’s running PIE. We based our KISS 30 design on @billg “wait 50” simple macro but it has a few changes because of some problems we had with that version.

TRIGGERS - Using a regular interval of 30 minute as a starting point. Had a few times where Doze shut WiFi off using 50 minute interval. Hope Google’s AI doesn’t start turning Doze on (WiFi off) in an even shorter time cycle. Pardon the pun….but time will tell.


ACTIONS - Originally used a screen on followed by a screen off but the screen off seemed to make the “Approach to wake up” feature in Moto Peek Display unstable. Others have also had problems with lock screens. Just turning the lock screen on and then letting it turn off automatically seems to cure the issue. The lock screen only stays on for about 15 seconds. Once you unlock the phone the screen stays on for the time you set in the Android sleep setting.


“Not in Call” – allows the macro to turn the screen on only when the phone is not in a call. This makes sure the macro does not cause any changes to the normal screen on/off actions when on a call.

“Power Disconnected” – allows the macro to turn the screen on only when the phone is disconnected from external power. Or said another way, the screen does not turn on if phone is plugged into a charger. This is handy when phone is charging on the nightstand next to your bed at night. My understanding is Doze does not turn WiFi off if phone is plugged into charger so there is no need to trigger screen on (which keeps WiFi on) when charging.

ADVANTAGES – Easy to see macro operation without even looking at the MacroDroid system log. Macro triggers screen on, lock screen turns on and you see notifications and WiFi status on screen, screen times out and turns off. Our version runs on the hour and the half-hour. MacroDroid uses about 2% of battery in a 72 hour period.

Love the KISS approach because you’re basically just hitting the power switch every 30 minutes. There is no impact if you toggle Airplane Mode on/off or anything else we’ve tested so far. Should work great for us in Mexico where we have WiFi only (no cell). Turn Airplane Mode on, turn WiFi on and connect to network and we’re good to go. For extra battery life while on a long flight we can turn off MacroDroid using the apps slider and turn on Airplane mode.

Some may say TL;DR but wanted to share the details and our reasoning. Seems like some of the past background discussion was changed when the MacroDroid thread was trimmed. Figure anyone who reads this thread is technically adept and might appreciate the details. Know there are also some MacroDroid experts in the Community so they might even point out something we’ve overlooked or misstated!

My thanks to @jben and @billg and everyone else who have shared their work on the Doze issue. Helped me get a better understanding of the macro operation.


We noticed that after the v4.9.1.3 app update the macro stopped triggering reliably on the hour and half-hour. System log showed there were times nothing would trigger for an hour or more and/or macro would trigger at odd minutes. We had made no changes to either phone other than normal Play Store app updates.

We wrote to the developer and asked if there were any changes in the update that would cause erratic trigger timing? To our delight they answered very quickly –

“The only significant change was the SDK of Android they have to target. Each version of Android is gradually crippling background apps so this is the most likely cause. Please try using the alarm option on the trigger.”

We saw the “Use alarm” option on the Regular Interval configuration page of the trigger but did not use it in the original macro. The original macro appeared to trigger reliably every 30 minutes so we thought nothing about the alarm setting.

Turns out checking the “Use alarm” option makes all the difference in the world. The macro now triggers reliably every 30 minutes again!

Here’s a screen capture showing the “Use alarm” option for anyone who might need to make the same change.

ONE DOWNSIDE TO USING ALARM SETTING – there is now a persistent alarm icon on the notification bar. Not so bad; we use it as a quick way to see the next scheduled trigger time for the macro. Swipe down twice and the next trigger time (alarm) shows at the top of the display. This will be the next scheduled trigger time with no other alarms set.


We will also monitor the battery usage and make sure this change does not cause increased battery usage.


Using the alarm option on the trigger solved all timing issues and the macro triggers reliably every 30 minutes. Turning the screen on every 30 minutes keeps WiFi on so the concern about Android AI changing the WiFi “Doze” cycle time seem to be unfounded.

There is no measurable change in battery usage. MacroDroid uses <1% of battery during a 3-day battery charge cycle. We can live with that for reliable WiFi operation with no missed calls or texts!

Hope this helps anyone trying to use the KISS 30 Macro.


Nice job! Great documentation.

1 Like

You inspired me to up my game on getting Android 10 to stop slipping into a Coma.

I tired a few variations on Triggers. My main concern is receiving texts on time while on home WiFi. Ended up making additions to Doze:

Disconnected from network and entered my home network
Geofence Entry area around my home

Next I added a new Action:

Enable WiFi

The results over night were amazing. Perfect no, is that because of Android 10 or my internet provider? Don’t know as I was asleep, so we’ll leave it as is.

Need to go out and about away from home, so I decided to remove the Trigger Disconnected from Network. As this might be too aggressive to battery life. If this macro variation performs well while out and at home, I’ll leave the Trigger off.


The longest I went without any network while out was about 1/2 hour which is a big improvement from before and it only happened once.

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

1 Like
  • I just completed an update to my published version used to Detect Doze and turn on the screen (to re-enable the WiFi TX-RX (Transmitters - Receivers)
  • Users are requested to delete older versions, and install this, hopefully this will better respect the current Notifications that Republic Wireless have implemented in the RW App

I have been getting the triangle a lot lately at home when my phone is not plugged in (Moto Z3 Play). I do not think I missed any phone calls, but I decided to give “Doze Detect” a try. Thanks for keeping this maintained JBEN and BillG!
This used to never happen on my wife’s phone (Moto X4, Android One version), but it is definitely happening now (don’t know what changed). She is on the CDMA partner, and I am on the GSM partner.
I wish they would work something like this into the R.W. app.

Ben deserves all the credit. I’ve not been bothered by this since connecting the RW hockey puck to my home phone system, :slight_smile:

That rings whether or not my cell phone does.

Do you have to have two pucks if you want to drive you and your wife’s numbers to the home phones?

Yes. I have a two-line phone system but only one puck. I don’t believe the puck works with the legacy phones.

Jben and billg are both far to modest for all the work they have both put in on the Doze issue. In fact, the KISS30 macro we use is based on the approach billg developed.

We also have the Extend Home and love it. Yes the phone rings even when phone is in Doze BUT we still use the KISS30 macro. Why? Because I also use Google Messages on my laptop and text operation is intermittent (app doesn’t connect reliably) with my phone if it goes into Doze. KISS30 stops Doze for us. Just wanted to add this in case anyone else is using Google Messages on a laptop or PC and finds texting is intermittent :grin:

There are a few minor problems with Anywhere but when RW suggested I use Google Messages instead I soon discovered the it only works in conjunction with a phone that is working and awake. I went back to Anywhere which works perfectly from my desktop and notebook PCs. It evebn works if my phone is turned off. Anywhere doesn’t get the proper contact images from Contacts but I can live with that and I don’t think RW is going to fix that issue.

RW’s inability to overcome Google’s problems with Doze mode is impacting the Windows 10 “Phone” feature. When this Windows feature is employed, this notification pops up intermittently all day long:


If you want to see this, and if you have the latest Windows updates installed, you find it here:

No notification pop up when the phone is connected to the charger because Doze isn’t active when external power is available.

With the phone off the charger notifications come in irregular spurts. For example, I noted the times on six consecutive notifications: 8:13, 8:18, 8:23, 8:34, 8:49 and 9:00.

In the Power settings the Republic Wireless app has been excluded from Doze but the exclusion doesn’t work.

The times you show, 5-10+ are consistent with what I am seeing during some extensive testing that I have been doing on a Moto X4 for a Doze ‘fix’ … I believe this is when the Android system is put into the 1st stage of Doze (light_doze) … a ‘fix’ version has proven problematic but is still a work in progress.

1 Like
Message an
Expert customer