Doze Mode in Android Marshmallow is the solution to battery drain when your phone is in idle state for a long time. The wait time for the phone to actually go into Doze mode is 30 minutes. But, in the past, we had shown how you can force this Doze mode whenever you turn off the screen. However, your phone will come out of Doze when it detects motion. So, what if you want your phone to always remain in Doze mode? What if you can change the wait time and different sensor timeouts that Doze mode uses? Let’s see how you can do it.
Now, the app through which we are going to achieve this task needs Root access. So ensure the phone is Rooted. And, your device should be running Android 6.0 and above (of course). Let’s dig in.
How to Fine Tune the Doze-Mode
Step-1: Download and install this app called Naptime.
Step-2: Grant root access. Right after you open the app it will ask you to grant root access. Naturally, hit Grant. Also, as you are going to change some system setting so you need to allow the app to modify the System settings.
Step-3: Enable the Aggressive Mode. This will make your phone go directly into Doze mode when the screen turns off. Also, there’s an option to Disable Motion Detection. Enable it to keep your phone alway in Doze mode even if it detects motion.
Step-4: Whitelist an app. You can set an app as whitelist which means this app will not be affected by Doze Mode. It will work normally. You can only choose one app because developers cannot allow more than one apps while development.
Step-5: Now let’s tune the different parameter that Doze works on. We’ll first see the Sensors section. Each option has an explaination provided by the developer. Here you can change the timeout for different sensors that changes the state of Doze to active/inactive. The first option is the Inactive timeout. This is the timeout at which your phone will start looking for different sensors to see if it’s in motion or not.
You can lower this down to 1200 seconds (viz. 20 minutes) if you want the phone to get active often. But, beware don’t lower it down too much as it will drain battery by checking the sensors at every timeout.
Next options are the sensing timeouts. This is the time for which it will check the sensors if the phone is in motion or not, before deciding that it’s inactive. You can read the info for each option yourself and change the values accordingly.
Thereafter, is the idle section where you can set the Maximum time at which your phone should remain in idle state after getting into Doze mode. Plus, other options for idle state after there’s inactive timeout and more.
Test out different values to see if your phone get more battery life with it. If you think you messed up then there’s an option to restore to default. Also, you can have a look at this Reddit thread to get different views from other users. There’s also a similar app on XDA called Doze Setting editor. You can try that out too.
One thing I’d like in these apps is Profiles. A profile of settings that will give the best battery life for different situations. Like when you’re travelling (where device will mostly be in motion) or while you’re working (where your device will mostly be idle). That way we’ll need not have to mess every time with the settings to fit them with our current situation.