Using Tasker to Sign Into WiFi Networks on Android (including Lollipop)
Yes, Smart network switch. It's actually described really well right there. And ideally, it works great.
Except for one thing. When you have a network (say, at work or at a coffee shop) where you have to accept terms and conditions. Then, the OS is smart enough to figure out that you can't connect to the internet via WiFi (because you haven't accepted the ToS), so instead of presenting you with the login page, it automagically switches to mobile data.
Which, um, is not smart.
So I've come up with a solution using Tasker (and nothing but Tasker).
Tasker is a paid app, but well worth the cash. Yes, it has a huge learning curve, but it's totally worth it.
My solution is made up of a profile and two tasks:
The profile that is called upon connecting to any wifi network
Calls http://checkip.dyndns.org/ . If the response is anything that doesn't make sense, it sets the variable %IPaddy to 0.0.0.0 ; otherwise it will return with the valid address.
Calls checkip and if the result is 0.0.0.0, launches Chrome, then afterward calls checkip again to set the variable properly.
Installation is like anything else for Tasker. Once you've installed Tasker, navigate over to the Tasker wiki page for WiFi Login: http://tasker.wikidot.com/wifilogin (be sure to click the "Files" button to see the files) or my GitHub page for Tasker stuff: https://github.com/uriel1998/tasker-weasel .
If you're having trouble importing stuff into tasker, check this video out: