我正在做一個應用程序,需要對設備連接到WiFi網絡時作出反應,我目前正在嘗試使用BroadcastReceiver實現它來監視android.net.ConnectivityManager.CONNECTIVITY_ACTION - 這種方式是正確的,還是有一種更合適的方式?這是檢測與WiFi網絡連接的正確方法嗎?
1
A
回答
1
@Jase,您需要註冊接收WifiManager.NETWORK_STATE_CHANGED_ACTION
。意圖有一個額外的NetworkInfo
。檢查它找到它的狀態。如果狀態爲NetworkInfo.State.CONNECTED
,則表示您已連接到網絡。
有關實現此目的的示例代碼,請看here。
0
看看WifiManager.WIFI_STATE_CHANGED_ACTION
廣播意圖的行動表明 是Wi-Fi已經被啓用,禁用 啓用,禁用,還是個未知數。一個 extra將此狀態提供爲int。 如果可用,另一個額外提供前一個 狀態。
和WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION
廣播指示 ,爲請求者 的連接已經建立(和現在 可以執行Wi-Fi業務) 或請求者的連接意圖動作 已經丟失。一個額外的提供 連接狀態作爲布爾值,其中 真正意味着連接。
閱讀從廣播或你什麼時候得到任何他們喜歡的檢查:
WifiManager wifi=(WifiManager) context.getSystemService(Context.WIFI_SERVICE);
int state=wifi.getWifiState();
現在可以檢查狀態,這將是一個
- WIFI_STATE_DISABLED
- WIFI_STATE_DISABLING
- WIFI_S TATE_ENABLED < - 有了這個,你可以發送/接收數據
- WIFI_STATE_ENABLING
- WIFI_STATE_UNKNOWN
相關問題
- 1. 正確的方法來檢查是否連接到Android的WiFi
- 2. 處理網絡連接的正確方法是什麼?
- 3. 檢測midp中的wifi和網絡連接
- 4. Android - 檢測從特定的WiFi ssid斷開連接的正確方法?
- 5. 檢測網絡連接
- 6. 這是連接表來獲取數據的正確方法嗎?
- 7. 這是連接屏幕的正確方法嗎?
- 8. 這是連接表的正確方法嗎?
- 9. 上連接到WiFi網絡
- 10. BroadcastReceiver無法正常工作(檢測WiFi是否連接)
- 11. 窗口如何檢測附近的網絡打印機與WiFi連接?
- 12. 有沒有辦法檢測Wifi網絡上活動的連接數量?
- 13. 確定連接是否在3G或WIFI網絡
- 14. 如何檢測WiFi網絡,而無需通過Unity與iOS和Android連接?
- 15. 如何使用Apple SDK以編程方式檢測和連接到Wifi網絡
- 16. UWP-如何檢查是否連接到Wifi網絡
- 17. 檢測開放的WiFi網絡
- 18. 正在向網絡流寫入零字節是檢測關閉連接的可靠方法嗎?
- 19. 檢測任何連接的網絡
- 20. 檢測任何連接網絡的人
- 21. JSON PHP:這是正確的方法嗎?
- 22. 這是TDD的正確方法嗎?
- 23. .htaccess RewriteRule:這是正確的方法嗎?
- 24. Jquery這是正確的方法嗎?
- 25. 這是正確的排序方法嗎?
- 26. 這是在多主機網絡上部署springboot雲netflix的正確方法嗎?
- 27. 無法以編程方式連接到WIFI網絡
- 28. 當沒有檢測到互聯網時自動連接到WiFi網絡
- 29. 如何檢查網絡在WiFi(無線上網雖然連接)
- 30. 檢測WiFi或移動網絡