HarmonyOS connection监听断网事件

使用 connection 创建网络监听事件,当手机没有电话卡使用移动网络,先连接 wifi,创建监听事件,然后关闭 wifi,不会触发监听的 ‘netUnavailable’ 和 ‘netLost’ 事件

示例代码

function onNetworkStatusChange() {
  let netConnection = connection.createNetConnection();
  netConnection.register((error) => {
    if (error) {
      return
    }
  })
  netConnection.on('netConnectionPropertiesChange', () => {
    console.info("netConnectionPropertiesChange");
  })
  netConnection.on('netBlockStatusChange', () => {
    console.info("netBlockStatusChange");
  })
  netConnection.on('netLost', () => {
    console.info("netLost");
  })
  netConnection.on('netUnavailable', () => {
    console.info("netUnavailable");
  })
  netConnection.on('netCapabilitiesChange', async (data: connection.NetCapabilityInfo) => {
    console.info("Succeeded to get data: " + JSON.stringify(data));
  });
}
HarmonyOS
2024-12-25 17:06:03
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

后续监听调用需要将netConnection 参数创建作为全局变量调用,可参考如下方式:

//网络状态监听
netCon : connection.NetConnection = connection.createNetConnection();
connTest(){
  //开启监听事件
  this.netCon.register((error: BusinessError) => {
    console.log(JSON.stringify(error));
  });
  //监听网络是否可用
  this.netCon.on('netAvailable', async (data) => {
    console.log("1---- net status netAvailable" + JSON.stringify(data))
  })

  this.netCon.on('netCapabilitiesChange', (data: connection.NetCapabilityInfo) => {
    console.log(JSON.stringify(data));
  });

  this.netCon.on("netLost",(data) => {
    console.log("1---- net lost" + JSON.stringify(data))
  })
  this.netCon.on('netUnavailable', (data) => {
    console.log("1---- net status netUnavailable" + JSON.stringify(data))
  })
}
分享
微博
QQ
微信
回复
2024-12-25 19:51:55
相关问题
HarmonyOS 键盘事件监听问题
918浏览 • 1回复 待解决
HarmonyOS 点击事件监听问题
258浏览 • 1回复 待解决
HarmonyOS 如何监听屏幕旋转事件
74浏览 • 1回复 待解决
鸿蒙 怎么监听开机事件
3481浏览 • 1回复 待解决
HarmonyOS 如何监听电话挂断事件
167浏览 • 1回复 待解决
HarmonyOS 如何监听截屏事件触发
327浏览 • 1回复 待解决
HarmonyOS 分段按钮的监听事件
839浏览 • 1回复 待解决
HarmonyOS eventHub注册和移除事件监听
319浏览 • 1回复 待解决
HarmonyOS 控件的长按事件怎么监听
299浏览 • 1回复 待解决
HarmonyOS 页面返回事件如何监听
223浏览 • 1回复 待解决
HarmonyOS 如何监听屏幕截屏事件
349浏览 • 1回复 待解决
HarmonyOS ArkTS怎么写回调事件监听
341浏览 • 1回复 待解决
HarmonyOS 是否有监听点击事件的API
228浏览 • 1回复 待解决
HarmonyOS应用前后台状态切换事件监听
1065浏览 • 1回复 待解决
HarmonyOS websocket网后如何重连
313浏览 • 1回复 待解决
通知栏点击事件监听的方法
654浏览 • 1回复 待解决