In Android, a connectivity check is done to check that Internet can be reached on available networks. The request is expecting a 204 HTTP error code in return and is done against Google FQDNs.
Looking at AOSP source code: android_frameworks_base ▸ services ▸ core ▸ java ▸ com ▸ android ▸ server ▸ connectivity ▸ NetworkMonitor.java
private static final String DEFAULT_HTTPS_URL = “https://www.google.com/generate_204”;private static final String DEFAULT_HTTP_URL = “http://connectivitycheck.gstatic.com/generate_204”;private static final String DEFAULT_FALLBACK_URL = “http://www.google.com/gen_204”;private static final String DEFAULT_OTHER_FALLBACK_URLS = “http://play.googleapis.com/generate_204”;
This means that Google can log a ping from any Android device anytime their network interface goes up, which is a common situation after boot.
Solution: we have replaced the Google server addresses in AOSP source by our own servers that do not logs the connectivity checks, for default calls, and a fallback to a Google server.
DEFAULT_FALLBACK_URL: default Google URL
Merged to the following branches:
This is a temporary, not ideal, situation because this solution relies on the confidence users can have in our project and infrastructure.
This will need to be improved using pings to servers FQDN choose randomely from a long list of trustworthy servers, using something different than the 204 HTTP error code check.
References: – issue 268 on /e/’s bugtracker https://gitlab.e.foundation/e/backlog/-/issues/268
See bold above. I don’t have a silver bullet to answer your question but it seems that it happens when you boot the device and I would assume that some additional Google logging shenanigans are happening when you don’t disable Settings > Network & Internet > WiFi > WiFi preferences > “Turn on Wi-Fi automatically”, “Open network notification” as well as Settings > Location > Wi-Fi and Bluetooth scanning > Wi-Fi scanning (I also disable Bluetooth scanning).
I too would love a more in depth answer as to when exactly your question is happening and in addition, what information is shared with Google regarding my device’s specific information (ie IMEI, OS info, or anything else that could build a fingerprint).
*Also, has this been merged to the Q builds? Guessing it was and the article was written pre Android 10 launch.
*Seems from some internet searching there are ways to disable captive portal checks with some adb shell commands or root commands. Anyone know how this impacts the OS? Will it cause any issues?