I have encountered a sporadic issue where the CaptivePortalLoginActivity is being triggered on networks that report NetworkCapabilities.NET_CAPABILITY_VALIDATED. After digging a bit, it seems like it only occurs when the device is connected to a dual-stack (IPv4/IPv6) network with temporary IPv6 privacy extensions enabled.
I suspect that the system DNS resolver might be falling back to IPv6 when resolving connectivitycheck gstatic , but if the IPv6 address isn’t stable enough (due to privacy extensions), the validation ping might silently fail even though ConnectivityService marks the network as validated.
Thanks in advance