‘This app is using battery’: Android’s deceiving error message & Google cloud messaging
Have you ever imagined running a version of Android without any proprietary Google apps and services? You can technically build a Google-less version of Android for your phone and use it with limited-to-full support of navigation, cloud messaging, app store etc.
The reasons behind this movement are already known to the community. Excessive amount of tracking, personal data collection via telemetry and the violation of the concept of a free & open OS – the list is rather long.
First of all, freedom. I can’t explain here why free software is so important (this is a FAQ, not a 200 pages manual), but if you’re interested you can start by reading this.
Second, the Play Services are very expensive in terms of resources, they drain lots of battery and they use lots of space, while microG requires much less resources. To give you an idea, the smallest possible package of OpenGApps (“Pico Package”) on ARM 7.1 is ~125 MB, while the full microG suite (GmsCore, GsfProxy, FakeStore, MozillaNlpBackend and NominatimNlpBackend) is ~4 MB.
By design, most of the Android apps use Google’s Firebase Cloud Messaging (formerly Google Cloud Messaging) to provide push notifications support. Whether you get a new email or a new picture is shared by your friend, the apps use Google’s background infrastructure to deliver the notifications.
If someone wants to build an app without using Google’s messaging support, they have to run it in background to periodically fetch information from the remote server. Unfortunately, Google is limiting this capability since Android Oreo, and now users get the following notification for such apps:
As a matter of fact, the Firebase Android client library is proprietary, meaning purely free and open source (FOSS) apps can not use it without altering their licensing. The battery usage warning is now forcibly put on such apps, such as the FOSS client of Telegram.
Since one can’t use Google’s push messaging in a FOSS app, Telegram-FOSS has to show you a notification to keep the background service running. Otherwise, you wouldn’t be notified about new messages.
Sadly, if the app would set the notification to lower priority (to hide it a bit in the lower part of the notification screen), you would immediately get a system notification about Telegram “using battery”, which is confusing and is the reason for this not being the default. Despite Google’s misleading warnings, there is no difference in battery usage between v4.6 in “true background” and v4.9+ with notification.
Android Q introduced further restrictions on background apps, such as limiting background apps’ access to device sensors, restricting information retrieved from Wi-Fi scans, and new permission rules and permission groups related to phone calls, phone state, and Wi-Fi scans.
Privacy oriented decentralized apps, such as Riot.im, are also affected by the decision from Google. It seems that the Mountain giant deliberately bogging down the openness in Android, for what the platform is known for.
FOSS developers are now raising their voice across various platforms (example: here, here) against Google’s bias towards their own services. Favouritism is the Achilles heel of Google, as the company recently faced a lot of criticism by blocking Microsoft’s Chromium based Edge browser from accessing their services.
What’s your take on this development? Do you think Google is trying to protect Android from fragmentation?
PiunikaWeb is a unique initiative that mainly focuses on investigative journalism. This means we do a lot of hard work to come up with news stories that are either ‘exclusive,’ ‘breaking,’ or ‘curated’ in nature. Perhaps that’s the reason our work has been picked by the likes of Forbes, Foxnews, Gizmodo, TechCrunch, Engadget, The Verge, Macrumors, and more. Do take a tour of our website to get a feel of our work. And if you like what we do, stay connected with us on Twitter (@PiunikaWeb) and other social media channels to receive timely updates on stories we publish.