2012-01-16 60 views
1

我想将我的设备连接到现有的网络WiFi时出现问题。Android连接到带有程序化Wifi配置的无线网络

情况就是这样:

我期待到现有配置的网络,如果没有我要找我建立它,然后我尝试连接的手机之一。

当使用手机界面手动构建wifi配置时,我可以找到它,然后连接到它。 但是,当我试图通过编程方式构建配置时,Android无法将手机连接到网络。

我收到以下消息:“对驱动程序的关联请求失败”。

我想知道失败的关联是否是扫描的网络和可配置网络之间的关联。我不知道为什么,所以我不知道如何解决这个问题。

编辑:我忘了说,我的WifiConfiguration是完全一样的手动创建,因为我从一些日志的conf获取信息。

EDIT2:这里是我的wificonf(网络由一个WEP密钥保护):

WifiConfiguration wifiConf = new WifiConfiguration(); 
    wifiConf.SSID = "\"ssid\""; 
    wifiConf.wepKeys[0] = "\"password\""; 
    wifiConf.wepTxKeyIndex = 0; 
    wifiConf.hiddenSSID = false; 
    wifiConf.status = WifiConfiguration.Status.DISABLED; 
    wifiConf.priority = 40; 
    wifiConf.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN); 
    wifiConf.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED); 
    wifiConf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40); 
    wifiConf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104); 
    wifiConf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);//+ 
    wifiConf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);//+ 
    wifiConf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE); 
    wifiConf.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP); 
    wifiConf.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP); 
    wifiConf.allowedProtocols.set(WifiConfiguration.Protocol.RSN); 
    wifiConf.allowedProtocols.set(WifiConfiguration.Protocol.WPA); 

EDIT3:我已经添加的权限在AndroidManifest:

使用许可权android:name =“android.permission.ACCESS_WIFI_STATE” uses-permission android:name =“android.permission.UPDATE_DEVICE_STATS” uses-permission android:name =“android.pe rmission.CHANGE_WIFI_STATE“

我希望我的问题很清楚,也希望有人能帮助我。

+0

你可以张贴在那里你创建它,并尝试连接到它的一些代码摘录。谢谢。 – 2012-01-16 16:49:00

+0

[这里] [1]你会得到你的答案。它也帮助了我。 [1]:http://stackoverflow.com/questions/8818290/how-to-connect-to-a-specific-wifi-network-in-android-programmatically – 2013-06-24 11:57:38

回答

1
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  
0

这是该设置的正确形式:

wifiConfiguration.SSID = "\"" + networkSSID + "\"";

+0

抱歉,此答案ISN”清除。你可以添加更多的细节? – 2015-03-28 19:54:50

相关问题