我想知道是否有一些代码片段可用于连接Android设备到WiFi网络。网络应该是打开的或WEP/WPA已加密,并且该设备可见。通常,我们使用GUI界面输入WiFi密码并点击连接按钮。我想将密码存储在一个地方,并使用密码无缝连接到网络,无需人工干预。那可能吗?非常感谢。Android连接WiFi无需人工干预
7
A
回答
2
WifiManager - 你有没有试过看这里。 addNetwork()方法看起来像它可以做你想做的事情。你所要做的就是将信息放在WifiConfiguration类中,然后添加网络,然后启用该连接。文档就在那里。
1
结帐它可以用来启用WiFi的“WifiManager”
的文档:
WifiManager wifiManager = (WifiManager)this.context.getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(true);
,它可以用来做很多其他的事情。
编辑:不要忘了监控和改变无线网络连接状态何时更新您的权限,例如:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
等等
14
谢谢你们。在您的帮助下,我现在可以无痛连接到WPA/PSK加密网络。这里是我的代码片段:
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
// setup a wifi configuration
WifiConfiguration wc = new WifiConfiguration();
wc.SSID = "\"YOUR_SSID\"";
wc.preSharedKey = "\"YOUR_PASSWORD\"";
wc.status = WifiConfiguration.Status.ENABLED;
wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
// connect to and enable the connection
int netId = wifiManager.addNetwork(wc);
wifiManager.enableNetwork(netId, true);
wifiManager.setWifiEnabled(true);
的招数是:
- SSID字符串应该与包围“这是由\表示”
- addNetwork()方法默认禁用添加的网络,所以你应该使用enableNetwork()方法来启用它。
3
为了让OP的示例代码的工作,我必须增加一个行:
wc.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
如果没有这条线,它只是将无法连接到网络。接受并添加配置,但不进行连接尝试。我实际上在logcat窗口中收到以下消息:
Event [WPA: Failed to select WPA/RSN] android
这使我找到最终解决方案,弄清楚为什么它不适用于我。
相关问题
- 1. wkhtmltopdf暂停,需要人工干预
- 2. Android wifi连接
- 3. 自动启动远程调试,无需人工干预clion
- 4. 如何获得oauth_verifier无需人工干预
- 5. Android中的人脸检测,无需用户干预
- 6. WiFi连接在机器人
- 7. Android:自动连接到webservice,无需用户干预的最佳方式
- 8. 通过WiFi信号连接iPhone而无需加入WiFi网络
- 9. 使用Android的WIFI到WIFI连接性
- 10. 使用无WiFi连接的WiFi
- 11. 已连接但无法连接的Wifi
- 12. 等到wifi连接到android
- 13. ANDROID - 测试wifi连接
- 14. 连接WiFi p2p android,WIFI_P2P_CONNECTION_CHANGED_ACTION
- 15. Wifi连接工作inspite接入点
- 16. Android的Unity3D Wifi直接连接
- 17. 通过应用程序连接到无人机wifi
- 18. GameKit wifi连接?
- 19. 星火工人无法连接到主
- 20. XAMPP停止连接到WIFI工作
- 21. 如何检查android wifi连接?
- 22. Android - 以编程方式连接到wifi
- 23. 通过WiFi上的http连接android
- 24. 限制Android设备的WiFi连接
- 25. 检索WiFi连接状态(Android)
- 26. Android WiFi-Direct连接和广播
- 27. 使用Android APP与WIFI代理连接
- 28. 的Android 4.0 - 检查连接到WiFi
- 29. 在Android Wear上保持wifi连接
- 30. 检测连接到Wifi的Android设备
它解决了我的问题!谢谢 – Shatazone 2012-01-23 11:40:24
令人惊叹的解决方案!任何想法如何找出输入的密码是否错误?我试图添加一个尝试捕获,但它不工作,密码保存到WiFi网络,并再次连接到它的唯一方法是忘记网络或更改密码 – Zame 2016-03-13 17:24:04