HarmonyOS 鸿蒙Next如何获取已连接的Wi-Fi的密码

发布于 1周前 作者 yuanlaile 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next如何获取已连接的Wi-Fi的密码

问题现象

设备已连接上Wi-Fi,如何获取该Wi-Fi的密码

解决措施

可以使用wifiManager.getDeviceConfigs()接口来获取当前Wi-Fi的网络配置信息WifiDeviceConfig,WifiDeviceConfig中的属性preSharedKey即为当前Wi-Fi的密码。

该接口为系统接口,需要获取到系统权限。

import { wifiManager } from ‘@kit.ConnectivityKit’;

function getWifiPassword(){ try { let configs:wifiManager.WifiDeviceConfig = wifiManager.getDeviceConfigs(); let password:string = configs.preSharedKey; console.info("get wifi password success,password is : " + password) }catch(error){ console.error(“get wifi password failed:” + JSON.stringify(error)); } }

参考链接

获取Wi-Fi密码

8 回复

cke_2192.png

获取Wi-Fi密码 的这个文档链接提示:请使用经授权的华为帐号查阅该文档。那么问题来了,如何申请授权?普通开发者能申请查看此类文档的授权吗?

getWifiPassword
版主,你这个代码确定经过检验吗?
wifiManager 根本就没有 getDeviceConfigs 方法,在 API 11 、API 12 的文档中都没有。

WifiDeviceConfig9+ WLAN配置信息。

系统能力: SystemCapability.Communication.WiFi.STA

名称 类型 可读 可写 说明 ssid string 是 否 热点的SSID,最大长度为32字节,编码格式为UTF-8。 bssid string 是 否 热点的BSSID,例如:00:11:22:33:44:55。 bssidType10+ DeviceAddressType 是 否 热点的BSSID类型。 preSharedKey string 是 否 热点的密钥,最大长度为64字节。当securityType为WIFI_SEC_TYPE_OPEN时该字段需为空串,其他加密类型不能为空串。当securityType为WIFI_SEC_TYPE_WEP时,该字段长度只允许为5、10、13、26、16和32字节其中之一,并且当字段长度为偶数时,该字段必须为纯十六进制数字构成。当securityType为WIFI_SEC_TYPE_SAE时,该字段最小长度为1字节。当securityType为WIFI_SEC_TYPE_PSK时,该字段最小长度为8字节。 isHiddenSsid boolean 是 否 是否是隐藏网络。 securityType WifiSecurityType 是 否 加密类型。 eapConfig10+ WifiEapConfig 是 否 可扩展身份验证协议配置。只有securityType为WIFI_SEC_TYPE_EAP时需要填写。

还是没法获取呢,请问您能提供可运行的参考代码不?

目前我还没有真机进行测试,后续我试试吧

在HarmonyOS鸿蒙系统中,获取已连接的Wi-Fi密码的步骤如下:

  1. 打开手机的【设置】,找到并点击【WLAN】。
  2. 在已连接的Wi-Fi列表中,点击想要查看密码的网络。
  3. 系统通常会显示该Wi-Fi的二维码,使用支持扫描二维码的应用(如微信)进行扫描。
  4. 扫描后,从显示的信息中提取密码部分,通常格式为“P:XXXXXX;”。

请注意,部分设备或系统版本可能略有不同,但基本流程相似。如果问题依旧没法解决,请加我微信,我的微信是itying888。

回到顶部