Нельзя делать в приложении бесконечные циклы, тем более в UI, система принимает такие приложения за зависшие (что, по сути и является) и принудительно закрывает их. Проверку лучше делать однократно, непосредственно пред исполнением нужного кода например вот так:
boolean connected = false;
ConnectivityManager connectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
if(connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED ||
connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED) {
//we are connected to a network
connected = true;
}
else
connected = false;