我有以下代码,必须使用WPA类型连接到某个WiFi点:
WifiConfiguration conf = new WifiConfiguration();
conf.SSID = "\"" + sSSID + "\"";
if (wType == WifiType.WPA)
{
conf.preSharedKey = "\""+ sPass +"\"";
}
else if (wType == WifiType.WEP)
{
conf.wepKeys[0] = "\"" + sPass + "\"";
conf.wepTxKeyIndex = 0;
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
}
WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
wifiManager.addNetwork(conf);
//
wifiManager.disconnect();
wifiManager.enableNetwork(conf.networkId, true);
wifiManager.setWifiEnabled(true);
if (wifiManager.reconnect())
{
Log.i(TAG, "successfully connected");
}
事情是我收到日志消息,声称successfully connected
但没有任何反应并且未获得连接。我想也许这只是因为它需要一些时间来获取它并且程序完成异步,但即使在等待一段时间连接之后也没有获得。
你能告诉我这里我做错了什么吗? Android文档没有提供有关WifiManager类的大量细节。