2014年2月6日 星期四

Android 檢查網路連線狀態

我們常常在APP中需要接觸到網路連線,這樣就必須判斷手機是否已連線至網路,否則會有讀取不到Server的資料或開啟網頁甚至是發生程式錯誤關閉的現象...等,所以在進行網路傳輸時,最好加上一段檢查網路狀態的判斷式是比較保險的。

範例就如以下程式碼:
  1. ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
  2. NetworkInfo ni = cm.getActiveNetworkInfo();

  3. if ( ni != null ) {
  4.     ni.isConnected();   //  網路是否已連線(回傳 true / false)
  5.    
  6.     ni.getTypeName();  //  網路連線方式名稱(wifi / mobile)
  7.     
  8.     ni.getState();  //  網路連線狀態
  9.     
  10.     ni.isAvailable();  //  網路是否可正常使用
  11.     
  12.     ni.isConnectedOrConnecting();  //  網路是否已連接或正在連線中
  13.    
  14.     ni.isFailover();  //  網路狀況是否有問題
  15. }  //  if  若未連線,ni 會等於 null


同時不要忘了在 AndroidManifest.xml 裡加上網路的存取權限喔!
  1. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

沒有留言:

張貼留言