So just checking Application.internetReachability or doing a Ping to some address doesn't guarantee you can successfully make connections or make WWW requests.
To truly know you're online, you need to implement 'captive portal detection', to know if you're e.g.