1 package ai.suanzi.rtmpclient;
3 import android.content.BroadcastReceiver;
4 import android.content.Context;
5 import android.content.Intent;
6 import android.net.NetworkInfo;
7 import android.net.wifi.WifiInfo;
8 import android.net.wifi.WifiManager;
9 import android.util.Log;
10 import org.apache.log4j.Logger;
11 import android.net.ConnectivityManager;
12 import android.widget.Toast;
14 import java.lang.ref.WeakReference;
16 public class NetworkMonitor extends BroadcastReceiver {
18 private Logger gLogger = Logger.getLogger("NetworkMonitor");
19 private NetworkListener mListener;
21 public NetworkMonitor(NetworkListener listener) {
26 public void onReceive (Context context, Intent intent) {
28 //获得ConnectivityManager对象
29 ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
31 NetworkInfo wifiNetworkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
33 //NetworkInfo dataNetworkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
34 if(wifiNetworkInfo.isConnected()){
35 Toast.makeText(context, "Wifi Connected", Toast.LENGTH_SHORT).show();
36 gLogger.error("Wifi Connected");
37 mListener.onWifiConnected();
39 Toast.makeText(context, "Wifi Disconnected", Toast.LENGTH_SHORT).show();
40 gLogger.error("Wifi Disconnected");
41 mListener.onWifiDisconnected();
45 public static boolean isNetworkAvailable(Context context){
46 ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
47 if (connectivity != null) {
48 NetworkInfo info = connectivity.getActiveNetworkInfo();
49 if (info != null && info.isConnected()) {
50 if (info.getState() == NetworkInfo.State.CONNECTED) {
58 public interface NetworkListener {
59 void onWifiConnected();
60 void onWifiDisconnected();
62 void onWifiDisabled();