Android判断上网方式(Wifi还是数据流量)

转载 2015年11月18日 15:03:56


首先要在AndroidManifest.xml加上权限:

  1. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>   

判断有无网络连接:

  1. ConnectivityManager mConnectivity = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);   
  2. TelephonyManager mTelephony = (TelephonyManager)this.getSystemService(TELEPHONY_SERVICE);   
  3. //检查网络连接   
  4. NetworkInfo info = mConnectivity.getActiveNetworkInfo();   
  5.   
  6. if (info == null || !mConnectivity.getBackgroundDataSetting()) {   
  7. return false;   
  8. }   

检查网络类型:

  1. int netType = info.getType();   
  2. int netSubtype = info.getSubtype();   
  3.   
  4. if (netType == ConnectivityManager.TYPE_WIFI) {  //WIFI  
  5.    return info.isConnected();   
  6. else if (netType == ConnectivityManager.TYPE_MOBILE && netSubtype == TelephonyManager.NETWORK_TYPE_UMTS && !mTelephony.isNetworkRoaming()) {   //MOBILE  
  7.    return info.isConnected();   
  8. else {   
  9.    return false;   
  10. }   


判断WiFi是否已连接:

  1. /** 
  2.  * make true current connect service is wifi 
  3.  * @param mContext 
  4.  * @return 
  5.  */  
  6. private static boolean isWifi(Context mContext) {  
  7.     ConnectivityManager connectivityManager = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);  
  8.     NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();  
  9.     if (activeNetInfo != null && activeNetInfo.getType() == ConnectivityManager.TYPE_WIFI) {  
  10.         return true;  
  11.     }  
  12.     return false;  
  13. }  

判断WiFi和移动流量是否已连接:

  1. public static boolean checkNetworkConnection(Context context)  
  2.    {  
  3.        final ConnectivityManager connMgr = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);  
  4.   
  5.        final android.net.NetworkInfo wifi =connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);  
  6.        final android.net.NetworkInfo mobile =connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);  
  7.   
  8.        if(wifi.isAvailable()||mobile.isAvailable())  //getState()方法是查询是否连接了数据网络  
  9.            return true;  
  10.        else  
  11.            return false;  
  12.    }  


只判断移动网络连接是否正常:

  1. <span style="font-family: Arial, Helvetica, sans-serif;">public boolean isMobileConnected(Context context) {    
  2. </span><span style="font-family: Arial, Helvetica, sans-serif;">        if (context != null) {  </span>  
  1.     ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);    
  2.     NetworkInfo mMobileNetworkInfo = mConnectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);   //获取移动网络信息  
  3.     if (mMobileNetworkInfo != null) {    
  4.         return mMobileNetworkInfo.isAvailable();    //getState()方法是查询是否连接了数据网络  
  5.     }    
  6. }    
  7. return false;    

android 判断网络状态 (无网络 wifi 数据流量)

/** * 检测网络是否连接 * @return */ private boolean checkNetworkState() { ...
  • u012372351
  • u012372351
  • 2016年01月22日 10:16
  • 1952

Android 判断是否为Wifi网络

判断当前网络是否是wifi。 /** * make true current connect service is wifi * @param mContext * @retu...
  • jianghuiquan
  • jianghuiquan
  • 2013年04月10日 20:07
  • 14167

Android判断上网方式(Wifi还是数据流量)

首先要在AndroidManifest.xml加上权限: 判断有无网络连接: ConnectivityManager mConnectivity = (ConnectivityManager)ge...
  • xundh
  • xundh
  • 2015年04月07日 09:40
  • 16692

判定当前活跃网络是否是是WIFI

/** * make true current connect service is wifi * @param mContext * @return */ private stat...
  • kakathya
  • kakathya
  • 2015年12月16日 14:47
  • 262

微信6.0内嵌浏览器User-Agent字符串增加了NetType字段

User Agent(用户代理)字符串是浏览器用于声明自身
  • lilin_emcc
  • lilin_emcc
  • 2014年10月16日 11:23
  • 14498

Android手机网络NetWorkType对应的常量值

本篇是为了方便以后使用,无需再百度 这是对应的参数类型/** * GPRS 2G(2.5) General Packet Radia Service 114kbps * E...
  • qq_15807167
  • qq_15807167
  • 2016年06月19日 20:52
  • 3589

Android中wifi与数据流量的切换监听

最近在做一个wifi和移动数据的监控功能,来来回回折腾了一阵子,这个模块的主要功能是监听整个APP的wifi与数据流量的切换,让用户使用专用流量,而不是用wifi,给一个弹窗,点击确认,自动切换数据流...
  • yoonerloop
  • yoonerloop
  • 2016年11月01日 23:32
  • 2739

Android判断上网方式(Wifi还是数据流量)

 首先要在AndroidManifest.xml加上权限: [html] view plaincopyprint? uses-permission android:n...
  • zhongyhc
  • zhongyhc
  • 2015年11月18日 15:03
  • 2420

安卓简单技术-判断手机连接的是wifi还是数据流量

//判断是连接的内网还是外网主要用到这个ConnectivityManager ConnectivityManager cm; cm = (ConnectivityManager) getSyste...
  • LzLcheer
  • LzLcheer
  • 2016年06月24日 08:45
  • 1399

Android 判断是否能真正上网(避免连入wifi无网的状态)

/**  * 检测网络是否连接  *  * @return  */ private boolean isNetworkAvailable() { ...
  • Alien__Chao
  • Alien__Chao
  • 2016年08月11日 16:48
  • 3159
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android判断上网方式(Wifi还是数据流量)
举报原因:
原因补充:

(最多只允许输入30个字)