Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android編程入門 >> Android學習筆記之ConnectivityManager+NetWorkInfo

Android學習筆記之ConnectivityManager+NetWorkInfo

編輯:Android編程入門

PS:眼看就要開學了,該收收心了.

 

學習內容:

1.ConnecivityManager

2.NetWorkInfo

 

  ConnectivityManger:網絡連接管理者,用於管理Android設備的網絡連接狀況,以前也總是接觸,不過那時沒有及時做相關的總結,也導致最近在寫東西的時候發現了一些問題.

  現如今我們的手機設備已經離不開了網絡,我們知道手機設備中,連接網絡的最常用的方式無非兩種,一種就是我們Mobile中的GPRS蜂窩數據網絡,另一種連接方式就是通過Wifi進行網絡連接.每一種連接方式在Android內部都有相關的管理.

  首先上一張原理圖

  圖片有點大.不過不耽誤,我們通過原理圖就能明白其中的道理.想要判斷當前網絡是否連接,以及當前的網絡狀態是否可用,則必然需要幾個過程和步驟.

  1.首先通過網絡連接管理者獲取管理對象

ConnectivityManager con = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

   2.通過使用ConnectvitityManager中的相關方法獲取網絡連接的額外信息

 關於ConnectivityManager的一些常用方法已經在圖中指出,其他詳細方法請參照API

NetworkInfo networkInfo = connManager.getActiveNetworkInfo();

   然後我們就可以通過相關的額外信息來執行更多的操作了,可以根據網絡情況來跳轉到不同的操作.至於具體的東西還是看我們的需求.比如說針對不同的網絡連接方式跳轉到不同的頁面..

Context context = listActivity.getApplicationContext();
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);//獲取系統的連接服務  
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();//獲取網絡的連接情況  
if(activeNetInfo.getType()==ConnectivityManager.TYPE_WIFI){  
    //WIFI網絡跳轉的頁面. 
}else if(activeNetInfo.getType()==ConnectivityManager.TYPE_MOBILE) {  
    //3G網絡跳轉的頁面
}  

  或者是當判斷網絡沒有連接的時候跳轉到Android網絡設置的頁面當中通知用戶手動去連接網絡.

boolean available = networkInfo.isAvailable();  
if(available){  
   Toast.makeText(getApplicationContext(),"當前網絡可用",Toast.LENGTH_LONG).show();
}else{  
   // 跳轉到無線網絡設置界面  
   startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));  
}  
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved