Это так не делается. Нужно подписаться на событие изменение статуса сети и проверять в обработчике этого события.
AndroidManifest.xml<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<receiver android:name="NetworkChangeReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
</intent-filter>
</receiver>
NetworkUtil.javaimport android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
public class NetworkUtil {
public static final int TYPE_WIFI = 1;
public static final int TYPE_MOBILE = 2;
public static final int TYPE_NOT_CONNECTED = 0;
public static int getConnectivityStatus(Context context) {
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = cm.getActiveNetworkInfo();
if (networkInfo != null) {
if(networkInfo.getType() == ConnectivityManager.TYPE_WIFI)
return TYPE_WIFI;
if(networkInfo.getType() == ConnectivityManager.TYPE_MOBILE)
return TYPE_MOBILE;
}
return TYPE_NOT_CONNECTED;
}
}
NetworkChangeReceiver.javapublic class NetworkChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
int status = NetworkUtil.getConnectivityStatus(context);
if(status == NetworkUtil.TYPE_NOT_CONNECTED) {
// Действия при недоступности сети
}
else {
// Действия при доступности сети
}
}
}