There are a number of questions regarding how to detect network connectivity in Android. https://stackoverflow.com/a/4239019/90236 provides a very detailed answer and https:
Is there a good way to determine that the user has a fully functioning network connection?
Try downloading something from somewhere. Ideally, the "somewhere" is your own server, to test connectivity between the device and your server.
Alas, there are no doesTehConnexionSuck() or iCanHazBandwidth() methods on ConnectivityManager. :-)
Is this overkill?
In the spirit of "Goldilocks and the Three Bears", I'd describe that as justrightkill.
We have to do the same sorts of shenanigans in Web apps too.