Следующий очень похожий подход работает, но имеет дополнительное преимущество: он не заботится о том, что лежит в основе носителя, так как похоже, что есть поддержка не только WiFi.Может быть, они также покрыты мобильным, но документы не очень ясно:
// added as an instance method to an Activity
boolean isNetworkConnectionAvailable() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = cm.getActiveNetworkInfo();
if (info == null) return false;
State network = info.getState();
return (network == NetworkInfo.State.CONNECTED || network == NetworkInfo.State.CONNECTING);
}