private static Connectivity create(NetworkInfo networkInfo) { return new Builder() .state(networkInfo.getState()) .detailedState(networkInfo.getDetailedState()) .type(networkInfo.getType()) .subType(networkInfo.getSubtype()) .available(networkInfo.isAvailable()) .failover(networkInfo.isFailover()) .roaming(networkInfo.isRoaming()) .typeName(networkInfo.getTypeName()) .subTypeName(networkInfo.getSubtypeName()) .reason(networkInfo.getReason()) .extraInfo(networkInfo.getExtraInfo()) .build(); }
public void listenForConnection(final Context c, final Handler h){ h.postAtFrontOfQueue(new Runnable(){ @Override public void run() { ConnectivityManager cm = (ConnectivityManager) c.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = cm.getActiveNetworkInfo(); if(networkInfo!=null && networkInfo.isConnectedOrConnecting()){ Intent i = new Intent(ConnectivityManager.CONNECTIVITY_ACTION); i.putExtra(ConnectivityManager.EXTRA_NETWORK_TYPE, networkInfo.getType()); i.putExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false); i.putExtra(ConnectivityManager.EXTRA_IS_FAILOVER, networkInfo.isFailover()); i.putExtra("MY_CUSTOM_KEY_HAS_WAN", true); c.sendBroadcast(i); }else { //do something else } h.postDelayed(this, 100); }}); }
public boolean isOnline(Context context) { boolean state=false; ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo wifiNetwork = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (wifiNetwork != null) { state=wifiNetwork.isConnectedOrConnecting(); System.out.println("wifiNetwork.isAvailable(): "+wifiNetwork.isAvailable()); System.out.println("wifiNetwork.isConnected(): "+wifiNetwork.isConnected()); System.out.println("wifiNetwork.isFaileOver(): "+wifiNetwork.isFailover()); System.out.println("wifiNetwork.isConnectedOrConnecting: "+state); } NetworkInfo mobileNetwork = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if (mobileNetwork != null) { state=mobileNetwork.isConnectedOrConnecting(); } NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); if (activeNetwork != null) { state=activeNetwork.isConnectedOrConnecting(); } return state; }
if (null != info) { mIsRoaming = info.isRoaming(); mIsFailover = info.isFailover(); mIsConnected = info.isConnected(); updateNetworkType(info.getType(), info.getSubtype());
info.getSubtypeName(), info.isConnected() ? "connected" : "not connected", info.isFailover() ? "failover" : "not failover", info.isRoaming() ? "roaming" : "not roaming" )); .setType(info.getTypeName()) .setSubtype(info.getSubtypeName()) .setFailover(info.isFailover()) .setRoaming(info.isRoaming()) .build()