码迷,mamicode.com
首页 > 移动开发 > 详细

android ConnectivityManager获取网络状态

时间:2015-07-06 17:34:42      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/** 
  * 测试ConnectivityManager 
  * ConnectivityManager主要管理和网络连接相关的操作 
  * 相关的TelephonyManager则管理和手机、运营商等的相关信息;WifiManager则管理和wifi相关的信息。 
  * 想访问网络状态,首先得添加权限<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>  
  * NetworkInfo类包含了对wifi和mobile两种网络模式连接的详细描述,通过其getState()方法获取的State对象则代表着 
  * 连接成功与否等状态。 
  *  
  */  
 public void testConnectivityManager() {  
  ConnectivityManager connManager = (ConnectivityManager) this  
    .getSystemService(CONNECTIVITY_SERVICE);  
  // 获取代表联网状态的NetWorkInfo对象  
  NetworkInfo networkInfo = connManager.getActiveNetworkInfo();  
  // 获取当前的网络连接是否可用  
  boolean available = networkInfo.isAvailable();  
  if(available){  
   Log.i("通知""当前的网络连接可用");  
  }  
  else{  
   Log.i("通知""当前的网络连接可用");  
  }  
   
  State state = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();  
  if(State.CONNECTED==state){  
   Log.i("通知""GPRS网络已连接");  
  }  
     
  state = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();  
  if(State.CONNECTED==state){  
   Log.i("通知""WIFI网络已连接");  
  }  
     
  // 跳转到无线网络设置界面  
  startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));  
  // 跳转到无限wifi网络设置界面  
  startActivity(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS));  
     
 }

 

android中判断网络连接是否可用

一、判断网络连接是否可用

 

  1. public static boolean isNetworkAvailable(Context context) {     

  2.         ConnectivityManager cm = (ConnectivityManager) context     

  3.                 .getSystemService(Context.CONNECTIVITY_SERVICE);     

  4.         if (cm == null) {     

  5.         } else {  

  6.        //如果仅仅是用来判断网络连接   

  7.         //则可以使用 cm.getActiveNetworkInfo().isAvailable();     

  8.             NetworkInfo[] info = cm.getAllNetworkInfo();     

  9.             if (info != null) {     

  10.                 for (int i = 0; i < info.length; i++) {     

  11.                     if (info[i].getState() == NetworkInfo.State.CONNECTED) {     

  12.                         return true;     

  13.                     }     

  14.                 }     

  15.             }     

  16.         }     

  17.         return false;     

  18.     }   

二、判断GPS是否打开

  1. public static boolean isGpsEnabled(Context context) {     

  2.         LocationManager lm = ((LocationManager) context     

  3.                 .getSystemService(Context.LOCATION_SERVICE));     

  4.         List accessibleProviders = lm.getProviders(true);     

  5.         return accessibleProviders != null && accessibleProviders.size() > 0;     

  6.     }   

三、判断WIFI是否打开

  1. public static boolean isWifiEnabled(Context context) {     

  2.         ConnectivityManager mgrConn = (ConnectivityManager) context     

  3.                 .getSystemService(Context.CONNECTIVITY_SERVICE);     

  4.         TelephonyManager mgrTel = (TelephonyManager) context     

  5.                 .getSystemService(Context.TELEPHONY_SERVICE);     

  6.         return ((mgrConn.getActiveNetworkInfo() != null && mgrConn     

  7.                 .getActiveNetworkInfo().getState() == NetworkInfo.State.CONNECTED) || mgrTel     

  8.                 .getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS);     

  9.     }  

 四、判断是否是3G网络

  1. public static boolean is3rd(Context context) {     

  2.         ConnectivityManager cm = (ConnectivityManager) context     

  3.                 .getSystemService(Context.CONNECTIVITY_SERVICE);     

  4.         NetworkInfo networkINfo = cm.getActiveNetworkInfo();     

  5.         if (networkINfo != null     

  6.                 && networkINfo.getType() == ConnectivityManager.TYPE_MOBILE) {     

  7.             return true;     

  8.         }     

  9.         return false;     

  10.     }    


五、判断是wifi还是3g网络,用户的体现性在这里了,wifi就可以建议下载或者在线播放。

    1. public static boolean isWifi(Context context) {     

    2.             ConnectivityManager cm = (ConnectivityManager) context     

    3.                     .getSystemService(Context.CONNECTIVITY_SERVICE);     

    4.             NetworkInfo networkINfo = cm.getActiveNetworkInfo();     

    5.             if (networkINfo != null     

    6.                     && networkINfo.getType() == ConnectivityManager.TYPE_WIFI) {     

    7.                 return true;     

    8.             }     

    9.             return false;     

    10.         } 

    11.  

android ConnectivityManager获取网络状态

标签:

原文地址:http://www.cnblogs.com/evertriely/p/4624790.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!