Hi Paul,
This was a couple years ago, but I here's what I recall:
Some captive portals cannot intercept https pages, so to work universally the intent needs to launch an http page. While
google.com might at first seem to be an improvement, this would mean android was regularly launching an insecure google search url, which is not best practice. generate_204 can take quite a lot of traffic, is neutral, and gives users a chance to detect an
MITM ("Wasn't this supposed to be blank?"). An indicator of success is the connectivity icon in the status bar, but I agree also seeing a blank page (depending on your browser) might not be intuitive.
As far as closing the page -- this intent simply launches a URL -- it does not track the progress. An alternative implementation might be to launch a dedicated webview and close when connectivity manager reports success. Feel free to file a bug about that (I no longer work on Android, however). Good luck!
Regards,
Isaac