我正在做一个应用程序,需要对设备连接到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或移动网络