ConnectivityManager獲取網絡狀態

/** 
  * 測試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中判斷網絡鏈接是否可用html

1、判斷網絡鏈接是否可用java


  1. public static boolean isNetworkAvailable(Context context) {     android

  2.         ConnectivityManager cm = (ConnectivityManager) context     網絡

  3.                 .getSystemService(Context.CONNECTIVITY_SERVICE);     ide

  4.         if (cm == null) {     測試

  5.         } else {  this

  6.        //若是僅僅是用來判斷網絡鏈接   spa

  7.         //則能夠使用 cm.getActiveNetworkInfo().isAvailable();     code

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

  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.     }   

2、判斷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.     }   

3、判斷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.     }  

 4、判斷是不是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.     }    


5、判斷是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.         } 

相關文章
相關標籤/搜索