我正在做一个应用程序,需要对设备连接到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. 检测midp中的wifi和网络连接
- 2. 检测网络连接
- 3. 上连接到WiFi网络
- 4. 窗口如何检测附近的网络打印机与WiFi连接?
- 5. 确定连接是否在3G或WIFI网络
- 6. 如何使用Apple SDK以编程方式检测和连接到Wifi网络
- 7. UWP-如何检查是否连接到Wifi网络
- 8. 检测开放的WiFi网络
- 9. 正在向网络流写入零字节是检测关闭连接的可靠方法吗?
- 10. 检测任何连接网络的人
- 11. 无法以编程方式连接到WIFI网络
- 12. JSON PHP:这是正确的方法吗?
- 13. 这是正确的排序方法吗?
- 14. 这是在多主机网络上部署springboot云netflix的正确方法吗?
- 15. 检测3G或Wifi网络恢复
- 16. 在iPad上检测wifi网络变化
- 17. 在.NET中检测3G网络连接
- 18. 检测网络连接带宽(Android)
- 19. 在Android上检测网络连接?
- 20. Xcode 4.2检测网络连接
- 21. iOS检测无网络连接
- 22. 如何检测网络断开连接?
- 23. Android,连接到wifi网络时如何覆盖互联网连接检查?
- 24. 这是测试发布变量存在的正确方法吗?
- 25. WiFi P2P没有连接到网络
- 26. 通过Cocoa连接到WIFI网络
- 27. 连接到WiFi网络编程
- 28. 正在连接到网络意味着我正在连接到WiFi
- 29. 这是存储网站跟踪信息的正确方法吗?
- 30. 如何检测连接在同一个wifi网络中的打印机android