【问题标题】:Android: check wifi password validity without connecting to pre-configured networkAndroid:在未连接到预配置网络的情况下检查 wifi 密码有效性
【发布时间】:2012-08-03 14:18:38
【问题描述】:
我正在寻找一种方法来检查预配置 wifi 网络的密码有效性而不激活它。有什么解决办法吗?
我的情况:
- Android 已连接到用作 Wifi 接入点的外部设备
- 我需要使用我预先配置的 wifi 网络之一配置此外部设备
- 我要求用户输入预配置的密码(使用对话框)
- 我将它传递给外部设备
所以,我想在将密码传递给外部设备之前检查密码的有效性。
WifiConfiguration 返回“*”作为密码,因此我无法直接将用户提供的密码与当前预配置的密码进行比较。
【问题讨论】:
标签:
android
passwords
wifi
【解决方案1】:
据我所知,没有“优雅”的方式。
如果您将从对话框中获取的密码设置为:wifiConfig.preSharedKey,然后使用方法:wifiManager.addNetwork(wifiConfig),则不会添加给定 SSID 的配置,但会被覆盖。然后你打电话给wifiManager.reconnect() 来检查你是否可以连接到你的网络(使用BroadcastReceiver 和过滤器WifiManager.NETWORK_STATE_CHANGED_ACTION)。
现在,如果密码正确,您就可以了。但如果不是,您的 Android 设备将断开连接并要求您提供正确的密码,以便能够连接到您更改了配置的网络。