X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fai%2Fsuanzi%2Frtmpclient%2FNetworkMonitor.java;fp=app%2Fsrc%2Fmain%2Fjava%2Fai%2Fsuanzi%2Frtmpclient%2FNetworkMonitor.java;h=7d51b62315882877eff5a26190db1fd4bb44053c;hb=9773f3da1389f4e52fecfc79686fe2c94b08d6bc;hp=0000000000000000000000000000000000000000;hpb=7a99b2b0d2cf8048e1d9dd7fae5ccf984a865b1e;p=rtmpclient.git diff --git a/app/src/main/java/ai/suanzi/rtmpclient/NetworkMonitor.java b/app/src/main/java/ai/suanzi/rtmpclient/NetworkMonitor.java new file mode 100644 index 0000000..7d51b62 --- /dev/null +++ b/app/src/main/java/ai/suanzi/rtmpclient/NetworkMonitor.java @@ -0,0 +1,64 @@ +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(); + } +}