我正在寻找一种方法来检查预配置的 wifi 网络的密码有效性而不激活它。有什么解决办法吗?
我的情况:
- Android 已连接到用作 Wifi 接入点的外部设备
- 我需要使用我预先配置的 wifi 网络之一配置此外部设备
- 我向用户询问预配置的密码(使用对话框)
- 我将它传递给外部设备
所以,我想在将密码传递给外部设备之前检查密码的有效性。
WifiConfiguration 返回“*”作为密码,因此我无法直接将用户提供的密码与当前预配置的密码进行比较。
据我所知,没有“优雅”的方式。
如果您将从对话框获取的密码设置为:wifiConfig.preSharedKey
并且使用方法:wifiManager.addNetwork(wifiConfig)
给定 SSID 的配置不会被添加但会被覆盖。比你打电话wifiManager.reconnect()
来检查你是否可以连接到你的网络(使用BroadcastReceiver
过滤器WifiManager.NETWORK_STATE_CHANGED_ACTION
)。
现在,如果密码正确,你就很好了。但如果不是,您的 Android 设备将断开连接并要求您提供正确的密码,以便能够连接到您更改了配置的网络。