我正在制作Android应用程序,需要对设备何时连接到WiFi网络作出反应,我正在尝试使用BroadcastReceiver来实现它来监控android.net.ConnectivityManager.CONNECTIVITY_ACTION - 这是这样的是正确的,还是有办法更合适?
答案 0 :(得分:1)
@Jase,您需要注册才能收到WifiManager.NETWORK_STATE_CHANGED_ACTION
。意图有一个NetworkInfo
额外的。检查它以找到它的状态。如果状态为NetworkInfo.State.CONNECTED
,则表示您已连接到网络。
有关实现此目的的示例代码,请查看here。
答案 1 :(得分:0)
查看WifiManager.WIFI_STATE_CHANGED_ACTION
广播意图行动指示 Wi-Fi已启用,已禁用, 启用,禁用或未知。一 extra将此状态设置为int。 另外一个提供前一个 国家,如果有的话。
和WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION
广播意图行动指示 与请求者的连接 已经建立(现在是 可以执行Wi-Fi操作) 或与请求者的连接 已经迷路了。一个额外的提供 连接状态为布尔值,其中 true表示已连接。
从广播中读取,或者当你得到任何一个时进行检查:
WifiManager wifi=(WifiManager) context.getSystemService(Context.WIFI_SERVICE);
int state=wifi.getWifiState();
现在你可以检查州,它将是
之一