dasensen
dasensen
  • 发布:56 分钟前
  • 更新:56 分钟前
  • 阅读:9

uni.connectWifi 部分wifi连接不上

分类:uni-app

uni.connectWifi({
SSID,
password,
success:(res)=>{
console.log(res);
},
fail:(err)=>{
console.log(err);
}
})

连接第一个wifi的时候 显示成功

{
"errSubject": "uni-wifi",
"errMsg": "getWifiList:ok",
"errCode": 0,
"wifi": {
"SSID": "跃维智能科技-wifi5"
}
}

连接第二个wifi的时候,显示失败

{
"errSubject": "uni-wifi",
"stackTrace": [],
"message": "",
"errMsg": "system not support",
"suppressedExceptions": [],
"name": "Error",
"errCode": 12001
}

劳烦各位大佬协助解决一下 谢谢

56 分钟前 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

根据您提供的错误信息 errCode: 12001errMsg: "system not support",结合 uni-app 官方文档,这表示当前系统不支持该 Wi-Fi 连接能力

具体原因和解决方案如下:

1. 平台限制(最常见原因)
根据 uni.connectWifi 官方文档 的平台差异说明:

  • Android 10 以下版本:支持直连
  • Android 10 及以上版本(包括鸿蒙系统)仅支持 maunal: true 手动连接,即跳转到系统设置页由用户手动连接,不支持代码直连

如果您的第二个 Wi-Fi 连接时手机系统是 Android 10+ 或鸿蒙,且未设置 maunal: true,就会报 12001 错误。

解决方案:

uni.connectWifi({  
    SSID: '目标WiFi',  
    password: '密码',  
    maunal: true,  // Android 10+ 必须设置为 true  
    success: (res) => {  
        console.log('跳转系统设置页成功', res);  
    },  
    fail: (err) => {  
        console.error('失败', err);  
    }  
})

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

2. 已保存 Wi-Fi 配置冲突
根据社区反馈,如果手机系统已经保存过该 Wi-Fi 的配置(之前连接过),再次调用 connectWifi 也可能触发 12001 错误。

解决方案:

  • 引导用户先在系统设置中忘记该 Wi-Fi 网络,然后再尝试连接
  • 或者使用 maunal: true 跳转到系统页面让用户手动处理

3. 检查前置条件
确保在调用 connectWifi 之前已经调用了 uni.startWifi 初始化:

uni.startWifi({  
    success: () => {  
        uni.connectWifi({  
            SSID,  
            password,  
            maunal: true,  // 建议加上  
            // ...  
        });  
    }  
});

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

总结建议:

  • 第一个 Wi-Fi 能连上,很可能是因为手机系统版本低于 Android 10,或者该 Wi-Fi 未被保存过
  • 第二个 Wi-Fi 连不上并报 12001,建议优先尝试添加 maunal: true 参数,或提示用户先忘记该网络再重试

如果仍有问题,建议检查手机系统版本和 Wi-Fi 的加密方式(如 WPA3 可能不被支持)。

内容为 AI 生成,仅供参考

要回复问题请先登录注册