HarmonyOS wifiManager.connectToCandidateConfig\(\)异常\{"code":"2501000"\}?

let deviceConfig: wifiManager.WifiDeviceConfig = {
  ssid: wifiSsid,
  preSharedKey: psw,
  // isHiddenSsid: false,
  securityType: securityType
}

try {
  //添加候选网络配置
  let resultID: number = await wifiManager.addCandidateConfig(deviceConfig)
  // 连接网络
  wifiManager.connectToCandidateConfig(resultID);
  // 连接成功之后跳转相机操作
  DeepLinkUrl.jump(RouterNameValue.HOME_CAMERA_CONTROL,
    { "videoUrl": "rtsp://192.168.1.254:554/xxx.mp4" })

} catch (err) {
  Log.error(`addDeviceConfig fail err is ${JSON.stringify(err)}`)
}
阅读 488
1 个回答

出现错误码‘2501000’的原因之一是当前样机已连接热点,请在执行connectToCandidateConfig方法前确保样机未连接到wifi即可(可删除网络后再次尝试运行上述代码)。

查询wifi连接状态:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-wifimanager-V5\#wifimanagerisconnected9

connectToCandidateConfig官网参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-wifimanager-V5\#wifimanagerconnecttocandidateconfig9

参考demo如下:

import { wifiManager } from '@kit.ConnectivityKit';
import { promptAction } from '@kit.ArkUI';

@Entry
@Component
struct Index {
  @State message: string = 'Hello World';

  async getLinkInfo() {
    const linkInfo = await wifiManager.getLinkedInfo()
    console.log(`获取到的linkInfo信息为:${JSON.stringify(linkInfo)}`)
    if (!wifiManager.isConnected()) {
      try {
        let config: wifiManager.WifiDeviceConfig = {


          ssid: 'wifi名称',
          preSharedKey: 'wifi密钥',
          securityType: 3
        }
        wifiManager.addCandidateConfig(config).then(result => {
          console.log('addCandidateConfig:' + result)
          wifiManager.connectToCandidateConfig(result);
        }).catch((err: number) => {
          promptAction.showToast({ message: JSON.stringify(err) })

        });
      } catch (error) {
        promptAction.showToast({ message: JSON.stringify(error) })

      }
    } else {
      promptAction.showToast({ message: '请断开wifi后再试' })
    }
  }

  build() {
    Column() {
      Button('linkInfo').onClick(() => {
        this.getLinkInfo()
        promptAction.showToast({ message: '方法已执行' })
      })
    }
  }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进