判斷當前Wifi或Ethernet串連狀態:
public static boolean isNetworkConnected(Context context) {ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo info = cm.getActiveNetworkInfo();if (info != null) {int type = info.getType();if (type == ConnectivityManager.TYPE_WIFI || type == ConnectivityManager.TYPE_ETHERNET) {return info.isAvailable();}} return false;}
BroadcastReceiver中監測Wifi或Ethernet串連狀態:
if (ConnectivityManager.CONNECTIVITY_ACTION.equals(action)) {Bundle extras = intent.getExtras();if (extras != null) { NetworkInfo networkInfo = (NetworkInfo)extras.get(ConnectivityManager.EXTRA_NETWORK_INFO); if (networkInfo == null) return; State state = networkInfo.getState(); int networkType = networkInfo.getType(); if (networkType == ConnectivityManager.TYPE_WIFI || networkType == ConnectivityManager.TYPE_ETHERNET) { if (state == State.CONNECTED) { mListener.onNetworkStateChange(true); } else if (state == State.DISCONNECTED) { mListener.onNetworkStateChange(false); } } }}