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的源码视图中加上一句代码

安卓端

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

结束语

欢迎指教,点个赞啦!

相关推荐
王同学要变强2 分钟前
【深入学习Vue丨第二篇】构建动态Web应用的基础
前端·vue.js·学习
科技峰行者13 分钟前
安卓16提前发布能否改写移动生态格局
android
社恐的下水道蟑螂13 分钟前
从字符串到像素:深度解析 HTML/CSS/JS 的页面渲染全过程
javascript·css·html
程序定小飞14 分钟前
基于springboot的web的音乐网站开发与设计
java·前端·数据库·vue.js·spring boot·后端·spring
蒲公英少年带我飞16 分钟前
Android NDK 编译 protobuf
android
Hello_WOAIAI16 分钟前
2.4 python装饰器在 Web 框架和测试中的实战应用
开发语言·前端·python
FinClip23 分钟前
凡泰极客亮相香港金融科技周,AI助力全球企业构建超级应用
前端
沐怡旸38 分钟前
【底层机制】ART虚拟机深度解析:Android运行时的架构革命
android·面试
阿四42 分钟前
【Nextjs】为什么server action中在try/catch内写redirect操作会跳转失败?
前端·next.js
申阳1 小时前
Day 6:04. 基于Nuxt开发博客项目-LOGO生成以及ICON图标引入
前端·后端·程序员