【发布时间】:2017-05-24 15:44:41
【问题描述】:
我正在尝试使用WiFiManager 连接到 WiFi 网络。这是我用来这样做的代码:
WifiManager manager = [...];
WifiConfiguration config = new WifiConfiguration();
manager.setWifiEnabled(true);
//Set SSID, PSK, etc...
[...]
//Connect to the network
int netId = manager.addNetwork(config);
if (netId == -1)
{
Toast.makeText(this, "Invalid PSK", Toast.LENGTH_LONG).show();
return;
}
manager.enableNetwork(netId, true);
manager.saveConfiguration();
之前,我为WifiManager.NETWORK_STATE_CHANGED_ACTION 操作注册了一个BroadcastReceiver。我试图通过检查给定NetworkInfo 的DetailedState 来检测连接何时成功或失败(出于各种原因,包括身份验证)。
连接成功时一切正常,但由于某种原因,连接失败时我的接收器没有“执行”。网络已添加到设备列表中,我可以通过进入 WiFi 设置看到它,但它没有尝试连接(或者它确实尝试连接但没有通知我的接收器)。
有什么线索吗?谢谢!
【问题讨论】:
标签: android broadcastreceiver android-wifi