[英]Monitoring the WiFi on android device
我需要在我的應用程序中處理一些Wifi方案的建議。
假設我的應用程序正在運行,並且設備閑置了一會兒並且進入了睡眠模式。 在睡眠模式下,wifi會自動關閉。 現在,當設備從睡眠模式恢復時,需要花費一些時間才能打開Wifi狀態。 現在,如果在這段時間內應用后台服務正在發出http請求,我們如何處理這種情況?
要么
假設如果Wifi不可用,則設備正在嘗試連接到GPRS / 3G,並且在此期間,如果用戶/后台服務發出了HTTP請求,我們如何在代碼中處理它?
您可以列出網絡接口,它們的類型和連接狀態:
獲取所有網絡接口:
NetworkInfo[] networkInfos = ConnectivityManager.getAllNetworkInfo();
檢查網絡接口的類型
networkInfo.getType() == ConnectivityManager.TYPE_MOBILE // or TYPE_WIFI
根據NetworkInfo.State
檢查狀態
networkInfo.getState() == NetworkInfo.State.CONNECTED
如果需要連接,則可以:
一種。 如上所述,檢查網絡狀態。
b。 注冊接收器以在網絡連接更改時獲取更新信息: Android SDK中網絡事件的意圖操作
如果在沒有連接的情況下嘗試獲取HTTP數據,則會出現異常。 您可以捕獲此錯誤,然后稍后重試,但是選項2更好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.