Modern versions of Android strike a decent balance between extending battery life (by pausing or limiting background tasks) and still staying connected to cloud servers that provide push notifications. However, some manufacturers take that a step further for their devices, by implementing more battery-saving techniques that can lead to background services breaking. OnePlus has had issues over the years with unreliable notifications, as well as the Chinese versions of many Xiaomi, Oppo, and Vivo phones.
Some of Google’s Android team held a Q&A panel at Google I/O this week, where an app developer asked what they could do in their app to work around aggressive battery life management on some devices. Dianne Hackborn, a long-running software engineer for Android, replied, “We realize this has been an increasingly painful thing for app developers.”
Play Video
“Android is not like Google’s operating system,” Hackborn said, “the OEMs […] do a lot of customizations and innovation on the platform, so there’s a lot of things we can’t just tell them or force them to do. And in this area, this is something that OEMs really care about for their users, about battery life. So this is an area where they do put a lot of effort into improving things… sometimes improving things — for developers — a bit too much.”
The core Android operating system is open-source code, so device makers can theoretically customize it as much as they want for their own products. However, if companies want to include the Google Play Store and other must-have apps, they have to license Google Mobile Services on top of Android. GMS agreements are how Google ensures Android devices with the Play Store all function roughly the same. Google has also used the GMS to force manufacturers to adopt certain features, like Material You-style theming on more phones and hiding custom navigation options during setup.
It seems, at least for now, Google is leaving battery optimization up to the manufacturer. Hackborn pointed to several changes in Android over the years, such as Doze and App Standby (both introduced in Android 6.0 Marshmallow in 2015), as examples of how the Android team has listened to manufacturers’ concerns about battery life. “It’s better for us to do it in the platform in general,” she said, “rather than have OEMs go each do separate things. And OEMs are still doing a lot of stuff, we’re constantly talking with our OEMs and doing work on reducing those changes that they make.”
If you’re having problems with buggy notifications on your Android device, going into the system settings and turning off battery optimizations for a given app usually does the trick. Buying a different phone from manufacturers like Google or Samsung is also an option.