2***@qq.com
2***@qq.com
  • 发布:2019-03-25 11:34
  • 更新:2020-11-17 10:46
  • 阅读:16716

uni-app 如何监听当前网络是否可用

分类:uni-app

如果当前连上wifi或4g网,而网速不好,无法加载数据或提交数据,怎样监听这种状态

2019-03-25 11:34 负责人:无 分享
已邀请:
DCloud_uni-ad_HDX

DCloud_uni-ad_HDX

https://uniapp.dcloud.io/api/system/network?id=onnetworkstatuschange

s***@163.com

s***@163.com

为啥程序不执行网路状态的监听
//为什么程序未执行网络变化的监听?
uni.onNetworkStatusChange(function(res){
console.log("网络类型:" + res.networkType + ",网络连接:" + res.isConnected);
if(!res.isConnected){
uni.showToast({
title:"网络未连接"
});
return;
}
})

  • DCloud_uni-ad_HDX

    在HBuilderX 2.1.3 ios 12.3.1 Android 7 测试没有问题,请提供HBuilderX版本,运行平台、系统信息、测试Demo

    2019-08-06 14:57

  • Bocheng

    回复 DCloud_uni-ad_HDX: 再H5平台 HBX版本:2.2.1.20190813 断网提示的errMsg: "onNetworkStatusChange:ok"

    isConnected: true

    networkType: "4g",恢复网络提示也还是这个。为什么?

    2019-08-15 16:42

  • Bocheng

    回复 DCloud_uni-ad_HDX: 在微信内嵌浏览器,返回的消息是{"errMsg":"onNetworkStatusChange:fail"}

    uni.onNetworkStatusChange(function (res) {

    console.log(res);

    uni.showModal({

    title: '',

    content: JSON.stringify(res),

    showCancel: false,

    cancelText: '',

    confirmText: '确定',

    success: res => {},

    fail: () => {},

    complete: () => {}

    });

    });

    2019-08-15 16:45

  • 罗根

    回复 Bocheng: 使用res.isConnected加个判断,有网未true没有网络未false(当前网络产生变化才会触发)

    2020-09-18 16:13

1***@qq.com

1***@qq.com

onLoad() {
uni.onNetworkStatusChange(function (res) {
// console.log(res.isConnected);
console.log(res.networkType);
if (res.networkType === 'none') {
uni.showModal({
icon: 'none',
title: '请打开你的网络连接'
})
}
});
}

你好,我在android手机上测试,没有弹窗显示,我这个写法正确吗

  • 2***@qq.com

    使用uni-showModal时,content为必填,否则在真机上不能正常弹框。

    2020-03-21 11:15

J***@163.com

J***@163.com

楼主有解决吗?
res.isConnected
这个值,
我切换到无网络的wifi上,值还是为true,
除非把wifi和移动数据都关掉才为false,
不可用的wifi,不可用的移动数据,都为true
如何监听到连接wifi了,但网络不可用呢?

  • 前端小菜b

    你好我遇到了同样的问题,wifi无数据时,就会识别为自己的4g网络,但是我需要的是4g和wifi共存的时候识别wifi,不知道您这边是怎么处理的呢

    2022-03-02 17:08

s***@flashingtime.cn

s***@flashingtime.cn

相同问题 怎么检测呢 还是只能通过请求结果判断?

该问题目前已经被锁定, 无法添加新回复