Android中判断网络是否可用的代码分享

package cn.hackcoder.beautyreader.broadcast; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.util.Log; import android.widget.Toast; import cn.hackcoder.beautyreader.activity.base.BaseActivity; import cn.hackcoder.beautyreader.utils.NetWorkUtils; public class NetWorkStatusReceiver extends BroadcastReceiver { public NetWorkStatusReceiver() { } @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) { Toast.makeText(context, "network changed", Toast.LENGTH_LONG).show(); BaseActivity.isNetWorkConnected = NetWorkUtils.getAPNType(context)>0; } } } package cn.hackcoder.beautyreader.utils; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.telephony.TelephonyManager; /**  * Created by hackcoder on 15-1-25.  */ public class NetWorkUtils {     /**      * 判断是否有网络连接      * @param context      * @return      */     public static boolean isNetworkConnected(Context context) {         if (context != null) {             ConnectivityManager mConnectivityManager = (ConnectivityManager) context                     .getSystemService(Context.CONNECTIVITY_SERVICE);             NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();             if (mNetworkInfo != null) {                 return mNetworkInfo.isAvailable();             }         }         return false;     }     /**      * 判断WIFI网络是否可用      * @param context      * @return      */     public static boolean isWifiConnected(Context context) {         if (context != null) {             ConnectivityManager mConnectivityManager = (ConnectivityManager) context                     .getSystemService(Context.CONNECTIVITY_SERVICE);             NetworkInfo mWiFiNetworkInfo = mConnectivityManager                     .getNetworkInfo(ConnectivityManager.TYPE_WIFI);             if (mWiFiNetworkInfo != null) {                 return mWiFiNetworkInfo.isAvailable();             }         }         return false;     }     /**      * 判断MOBILE网络是否可用      * @param context      * @return      */     public static boolean isMobileConnected(Context context) {         if (context != null) {             ConnectivityManager mConnectivityManager = (ConnectivityManager) context                     .getSystemService(Context.CONNECTIVITY_SERVICE);             NetworkInfo mMobileNetworkInfo = mConnectivityManager                     .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);             if (mMobileNetworkInfo != null) {                 return mMobileNetworkInfo.isAvailable();             }         }         return false;     }     /**      * 获取当前网络连接的类型信息      * @param context      * @return      */     public static int getConnectedType(Context context) {         if (context != null) {             ConnectivityManager mConnectivityManager = (ConnectivityManager) context                     .getSystemService(Context.CONNECTIVITY_SERVICE);             NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();             if (mNetworkInfo != null && mNetworkInfo.isAvailable()) {                 return mNetworkInfo.getType();             }         }         return -1;     }     /**      * 获取当前的网络状态 :没有网络0:WIFI网络1:3G网络2:2G网络3      *      * @param context      * @return      */     public static int getAPNType(Context context) {         int netType = 0;         ConnectivityManager connMgr = (ConnectivityManager) context                 .getSystemService(Context.CONNECTIVITY_SERVICE);         NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();         if (networkInfo == null) {             return netType;         }         int nType = networkInfo.getType();         if (nType == ConnectivityManager.TYPE_WIFI) {             netType = 1;// wifi         } else if (nType == ConnectivityManager.TYPE_MOBILE) {             int nSubType = networkInfo.getSubtype();             TelephonyManager mTelephony = (TelephonyManager) context                     .getSystemService(Context.TELEPHONY_SERVICE);             if (nSubType == TelephonyManager.NETWORK_TYPE_UMTS                     && !mTelephony.isNetworkRoaming()) {                 netType = 2;// 3G             } else {                 netType = 3;// 2G             }         }         return netType;     } }

注册:

<receiver android:name=".broadcast.NetWorkStatusReceiver" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter> </receiver>

时间: 2024-09-20 00:59:35

Android中判断网络是否可用的代码分享的相关文章

Android编程判断网络是否可用及调用系统设置项的方法_Android

本文实例讲述了Android编程判断网络是否可用及调用系统设置项的方法.分享给大家供大家参考,具体如下: private boolean checkNetwork() { boolean flag = false; ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); if (manager.getActiveNetworkInfo() != null

Android编程判断网络是否可用及调用系统设置项的方法

本文实例讲述了Android编程判断网络是否可用及调用系统设置项的方法.分享给大家供大家参考,具体如下: private boolean checkNetwork() { boolean flag = false; ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); if (manager.getActiveNetworkInfo() != null

Android中判断网络连接是否可用及监控网络状态_Android

获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 1)判断是否有网络连接 复制代码 代码如下: public boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConn

Android中判断网络连接是否可用及监控网络状态

获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 1)判断是否有网络连接 复制代码 代码如下:public boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConne

Android中判断网络连接是否可用的方法总结

Android 网路判断 判断当前网络是否是wifi /** * 判断当前是否是wifi * @param mContext * @return */ private static boolean isWifi(Context mContext) { ConnectivityManager connectivityManager = (ConnectivityManager) mContext .getSystemService(Context.CONNECTIVITY_SERVICE); Ne

Android中判断网络连接状态的方法_Android

App判断用户是否联网是很普遍的需求,实现思路大概有下面几种 利用Android自带的ConnectivityManager类 有时候连上了wifi,但这个wifi是上不了网的,我们可以通过ping www.baidu.com来判断是否可以上网 也可以利用get请求访问www.baidu.com,如果get请求成功,说明可以上网 1.判断网络是否已经连接 // check all network connect, WIFI or mobile public static boolean isNe

Android中判断网络连接状态的方法

App判断用户是否联网是很普遍的需求,实现思路大概有下面几种 利用Android自带的ConnectivityManager类 有时候连上了wifi,但这个wifi是上不了网的,我们可以通过ping www.baidu.com来判断是否可以上网 也可以利用get请求访问www.baidu.com,如果get请求成功,说明可以上网 1.判断网络是否已经连接 // check all network connect, WIFI or mobile public static boolean isNe

android中判断网络是否连接及各种系统服务

一.网络连接判断 public void doClick(View v){ switch(v.getId()){   case R.id.network:   if(isNetWorkConnected(MainActivity.this)==true){Toast.makeText().....}   case : } }  public boolean isNetWorkConnected(Context context){//以上下文做完参数    if(context!=null){  

Android编程判断网络连接是否可用的方法_Android

本文实例讲述了Android编程判断网络连接是否可用的方法.分享给大家供大家参考,具体如下: 为了提高用户体验,我们在开发 android 应用的过程需要联网获取数据的时候我们首先要做的一步就是: 1.判断当前手机是否打开了网络 2.打开了网络是否可以上网 然后再去执行联网逻辑,避免没联网做不必要的工作! 通常情况下,我们是这样判断的 public static boolean isNetAvailable(Context context) { ConnectivityManager conne