x***@idee.com.cn
x***@idee.com.cn
  • 发布:2024-09-29 16:47
  • 更新:2024-09-30 10:21
  • 阅读:62

【报Bug】uni.onWifiConnected 不执行

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 4.28

手机系统: Android

手机系统版本号: Android 14

手机厂商: 联想

手机机型: 小新Pad pro 12.7(晓龙版)

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

<template>
<view class="page">
<view style="display: block; height: 50px;"></view>
<view class="gc-box">
<button @click="getWifiList">连接wifi</button>
</view>
</view>
</template>

<script>
export default {
data() {
return {

        }  
    },  

    onLoad() {},  

    methods: {  
        getWifiList() {  
            uni.startWifi({  
                success: (res) => {  
                    console.log("startWifistartWifi"+JSON.stringify(res));  
                    uni.connectWifi({  
                        // "SSID":'abc',  
                        // "password":'88888888',  
                        "maunal": true,  
                        "partialInfo": true,  
                        success: (res1) => {  
                         console.log("connectWificonnectWificonnectWifi"+JSON.stringify(res1));  

                        },  
                        fail: (err) => {  
                            console.log(err);  
                        }  

                    });  

                },  
                fail: (err) => {  
                    console.log(err);  
                },  
                complete: () => {  
                    uni.onWifiConnected((winfo) => {  
                        //不会跳这里  
                         console.log("onWifiConnected"+JSON.stringify(winfo));  

                    })  
                }  
            })  

        }  
    }  
}  

</script>

<style>
.item {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
border-bottom: 2rpx solid #ddd;
padding: 16rpx 0;
}

.item .title {  
    flex: 1;  
}  

input {  
    border-bottom: 2rpx solid #ddd;  
}  

</style>

操作步骤:

1、先不打开系统定位,点击“连接wifi”。可以看到不会触发uni.onWifiConnected
2、打开定位,点击“连接wifi”。可以看到会触发uni.onWifiConnected
3、打开定位,点击“连接wifi”。 到设置页面上改成其它wifi,不会触发uni.onWifiConnected,然后点击返回到app界面,然后再点击“连接wifi”,才会触发uni.onWifiConnected

预期结果:

1、希望不要开定位也能执行uni.onWifiConnected
2、希望能够支持安卓10以上 和ios ,ssid直连
3、如果是手动连接,希望跳到系统wifi设置页面的时候,再这里做更改也能触发uni.onWifiConnected

实际结果:

uni.onWifiConnected 没有返回 更改后wifi的数据

bug描述:

发现不执行的原因了, 必须要开定位,才能执行uni.onWifiConnected,但是开定位这个,文档也没有说。

还有就是 android10 以下版本支持直连,android 10以上,包括鸿蒙系统仅支持 maunal 手动链接
手动连接有个问题 ,就是在设置页面改成其它wifi ,不能立马监听执行uni.onWifiConnected,而是从设置网络页面返回到app页面,然然后再进去设置wifi页面,uni.onWifiConnected才会执行。

2024-09-29 16:47 负责人:无 分享
已邀请:
qjr

qjr

Android以上直连只能通过写插件形式去实现了,uts和原生插件都可以

要回复问题请先登录注册