我們常常在APP中需要接觸到網路連線,這樣就必須判斷手機是否已連線至網路,否則會有讀取不到Server的資料或開啟網頁甚至是發生程式錯誤關閉的現象...等,所以在進行網路傳輸時,最好加上一段檢查網路狀態的判斷式是比較保險的。
範例就如以下程式碼:
範例就如以下程式碼:
- ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
- NetworkInfo ni = cm.getActiveNetworkInfo();
- if ( ni != null ) {
- ni.isConnected(); // 網路是否已連線(回傳 true / false)
- ni.getTypeName(); // 網路連線方式名稱(wifi / mobile)
- ni.getState(); // 網路連線狀態
- ni.isAvailable(); // 網路是否可正常使用
- ni.isConnectedOrConnecting(); // 網路是否已連接或正在連線中
- ni.isFailover(); // 網路狀況是否有問題
- } // if 若未連線,ni 會等於 null
同時不要忘了在 AndroidManifest.xml 裡加上網路的存取權限喔!
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
沒有留言:
張貼留言