--- /dev/null
+package ai.suanzi.rtmpclient;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.net.NetworkInfo;
+import android.net.wifi.WifiInfo;
+import android.net.wifi.WifiManager;
+import android.util.Log;
+import org.apache.log4j.Logger;
+import android.net.ConnectivityManager;
+import android.widget.Toast;
+
+import java.lang.ref.WeakReference;
+
+public class NetworkMonitor extends BroadcastReceiver {
+
+ private Logger gLogger = Logger.getLogger("NetworkMonitor");
+ private NetworkListener mListener;
+
+ public NetworkMonitor(NetworkListener listener) {
+ mListener = listener;
+ }
+
+ @Override
+ public void onReceive (Context context, Intent intent) {
+
+ //获得ConnectivityManager对象
+ ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
+
+ NetworkInfo wifiNetworkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
+
+ //NetworkInfo dataNetworkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
+ if(wifiNetworkInfo.isConnected()){
+ Toast.makeText(context, "Wifi Connected", Toast.LENGTH_SHORT).show();
+ gLogger.error("Wifi Connected");
+ mListener.onWifiConnected();
+ } else {
+ Toast.makeText(context, "Wifi Disconnected", Toast.LENGTH_SHORT).show();
+ gLogger.error("Wifi Disconnected");
+ mListener.onWifiDisconnected();
+ }
+ }
+
+ public static boolean isNetworkAvailable(Context context){
+ ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
+ if (connectivity != null) {
+ NetworkInfo info = connectivity.getActiveNetworkInfo();
+ if (info != null && info.isConnected()) {
+ if (info.getState() == NetworkInfo.State.CONNECTED) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ public interface NetworkListener {
+ void onWifiConnected();
+ void onWifiDisconnected();
+ void onWifiEnabled();
+ void onWifiDisabled();
+ }
+}