2010-11-22 57 views
4

我需要在我的應用程序中處理少量Wifi情況的建議。監控Android設備上的WiFi

假設我的應用程序正在運行並且設備保持空閒一段時間,並且它已進入睡眠模式。在睡眠模式下,wifi會自動關閉。現在,當設備從睡眠模式恢復時,需要一段時間才能打開Wifi狀態。 現在,如果在這段時間內,應用後臺服務正在發出http請求,那麼我們該如何處理該場景?

OR

想如果無線網絡連接不可用,設備正試圖在此期間連接到GPRS/3G如果如果用戶/後臺服務使HTTP請求,我們如何處理它的代碼?

回答

2
  1. 可以列出網絡接口,它們的類型和連接狀態:

    獲取所有網絡接口:網絡接口

    networkInfo.getType() == ConnectivityManager.TYPE_MOBILE // or TYPE_WIFI 
    

    對檢查狀態的

    NetworkInfo[] networkInfos = ConnectivityManager.getAllNetworkInfo(); 
    

    檢查類型NetworkInfo.State

    networkInfo.getState() == NetworkInfo.State.CONNECTED 
    
  2. 如果你需要一個連接,那麼您可以:

    一個。如上所述檢查網絡狀態。

    b。註冊接收器以在網絡連接更改時獲取更新信息:Intent action for network events in android sdk

  3. 如果嘗試在沒有連接時獲取HTTP數據,您將收到異常。你可以抓住這個,然後重試,但選項2更好。