uniapp直接连接wifi(含有ios和安卓的注意事项)

前言

小程序中直接连接wifi-----微信小程序

代码

启动

javascript 复制代码
        //启动wifi
			startWifi() {
				return new Promise((resolve, reject) => {
					uni.startWifi({
						success: (res) => {
							console.log('启动wifi 成功', res)
							resolve(true)
						},
						fail: (err) => {
							console.error('启动wifi 失败', err)
							uni.showModal({
								content: err.errMsg,
								showCancel: false
							})
							reject(new Error(err))
						},
					})
				})
			},

获取wifi列表

javascript 复制代码
    /** 获取wifi列表, ios和android 各不相同,具体看顶部资料 */
			async getWifiList() {
				const hasStart = await this.startWifi()
				if (hasStart !== true) return
				uni.getWifiList({
					success: (res1) => {
						console.log('获取wifi列表命令发送 成功', res1)
						this.getLianjie() //调用方法,进行链接
					},
					fail: (err) => {
						console.error('获取wifi列表 失败', err)
						uni.showModal({
							content: err.errMsg,
							showCancel: false
						})
					},
				})
			},

连接wifi

javascript 复制代码
        getLianjie() {
				uni.connectWifi({
					SSID: this.wirelessName,//这个就是无线网的名称
					password: this.wirelessPassword,//这个是无线网的密码
					forceNewApi:true, //这个是安卓端,必须要添加的东西,否则会连接失败
					success: (res) => {
						console.log('wifi 成功:', res)
						this.$uni.gettitle(res.errMsg)//封装的全局方法
					},
					fail: (err) => {
						console.error('wifi连接 失败:', err)
						uni.showModal({
							content: err.errMsg,
							showCancel: false
						})
					},
				})
			},

完整代码

javascript 复制代码
	//启动wifi
			startWifi() {
				return new Promise((resolve, reject) => {
					uni.startWifi({
						success: (res) => {
							console.log('启动wifi 成功', res)
							resolve(true)
						},
						fail: (err) => {
							console.error('启动wifi 失败', err)
							uni.showModal({
								content: err.errMsg,
								showCancel: false
							})
							reject(new Error(err))
						},
					})
				})
			},
			/** 获取wifi列表, ios和android 各不相同,具体看顶部资料 */
			async getWifiList() {
				const hasStart = await this.startWifi()
				if (hasStart !== true) return
				uni.getWifiList({
					success: (res1) => {
						console.log('获取wifi列表命令发送 成功', res1)
						this.getLianjie()
					},
					fail: (err) => {
						console.error('获取wifi列表 失败', err)
						uni.showModal({
							content: err.errMsg,
							showCancel: false
						})
					},
				})
			},
			//链接
			getLianjie() {
				uni.connectWifi({
					SSID: this.wirelessName,
					password: this.wirelessPassword,
					forceNewApi:true,
					success: (res) => {
						console.log('wifi 成功:', res)
						this.$uni.gettitle(res.errMsg)
					},
					fail: (err) => {
						console.error('wifi连接 失败:', err)
						uni.showModal({
							content: err.errMsg,
							showCancel: false
						})
					},
				})
			},

注意事项

连接wifi的时候:forceNewApi:true, //这个是安卓端,必须要添加的东西,否则会连接失败,

ios需要跳转到设置打开WiFi的页面,否则也会连接失败

在使用这个方法的时候,一定要打开手机的wifi,否则会失败

安卓端,需要在manifest.json的源码视图中加上一句代码

安卓端

否则好像不能使用定位 功能!

结束语

欢迎指教,点个赞啦!

相关推荐
前端啵啵猪5 分钟前
useCallback 和 useMemo,什么时候用才是有效的?
前端·react.js
星哥说事16 分钟前
跨平台开源笔记神器,用DeepSeek写笔记 , 效率翻倍
前端
萧雾宇25 分钟前
Android Compose打造仿现实逼真的烟花特效
android·flutter·kotlin
喜欢你,还有大家44 分钟前
FTP文件传输服务
linux·运维·服务器·前端
该用户已不存在1 小时前
你没有听说过的7个Windows开发必备工具
前端·windows·后端
翻滚丷大头鱼1 小时前
android 性能优化—ANR
android·性能优化
他们都不看好你,偏偏你最不争气1 小时前
【iOS】push 和 present
ios
翻滚丷大头鱼1 小时前
android 性能优化—内存泄漏,内存溢出OOM
android·性能优化
Bi1 小时前
Dokploy安装和部署项目流程
运维·前端
普通网友1 小时前
前端安全攻防:XSS, CSRF 等防范与检测
前端·安全·xss