鸿蒙里如何进行网络监测?

比如监测当前是否有网络,当前网络环境是蜂窝还是wifi?

阅读 654
1 个回答

可以通过系统库,进行网络状态监测和网络类型判断,简单的监测代码如下,在获取到监测的结果后,可以通过全局的状态变量进行更新,或者使用通知进行更新

import { connection } from '@kit.NetworkKit';
  
/**
   * 监听网络状态变化
   */
  register() {
/// 创建链接
    this.netCon = connection.createNetConnection();
/// 注册前要先取消注册,并且只能在取消注册成功后,才能重新注册
    this.netCon.unregister(() => {
      if (!this.netCon) {
        return
      }
/// 注册监听方法
      this.netCon.register((error) => {
        if (error) {
          return;
        }
      })
/// 监听网络状态变化事件
      this.netCon.on('netCapabilitiesChange', data => {
        const bearerType = data.netCap.bearerTypes[0]
        // 更新网络状态

      })
/// 监听无网络事件
      this.netCon.on('netUnavailable', () => {

      })
/// 监听网络状态丢失事件
      this.netCon.on('netLost', () => {

      })
    })
  }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进