What I don't see mentioned here is the issue to redirect the user from the captive portal browser back to its own (preferred) browser to display a landing page after acknowledging the TOS. On Android this seemed completely impossible and I noticed several implementations where there was simply requested to copy a link. On Apple any link with target blank would open a new Safari window. I'am wondering if this changed with later Android releases