HarmonyOS 网络变化监听失效
import { connection } from '@kit.NetworkKit';
import { BusinessError } from '@kit.BasicServicesKit';
export class SNMDemo {
  constructor() {
    this.init();
  }
  init() {
    console.info('init start');
    let netSpecifier: connection.NetSpecifier = {
      netCapabilities: {
        bearerTypes: [connection.NetBearType.BEARER_CELLULAR, connection.NetBearType.BEARER_WIFI,
          connection.NetBearType.BEARER_ETHERNET],
        // 指定网络能力为Internet
        networkCap: [connection.NetCap.NET_CAPABILITY_INTERNET]
      },
    };
    // 指定超时时间为10s(默认值为0)
    let timeout = 10 * 1000;
    // 创建NetConnection对象
    let conn = connection.createNetConnection(netSpecifier, timeout);
    // 订阅指定网络状态变化的通知
    conn.register((err: BusinessError, data: void) => {
      if (err) {
        console.error(`监听网络状态失败 ${JSON.stringify(err)}`)
      }
    });
    // 订阅事件,如果当前指定网络可用,通过on_netAvailable通知用户
    conn.on('netAvailable', ((data: connection.NetHandle) => {
      console.info(`netAvailable ${data.netId}`);
      connection.getNetCapabilities(data, (error, data) => {
        if (error) {
          console.error(`Failed to get net capabilities. Code:${error.code}, message:${error.message}`)
          return;
        }
        const netType = [...data.bearerTypes].sort().join(',');
        console.info(`netAvailable type change ${netType}`);
      })
    }));
    // 订阅事件,如果当前指定网络不可用,通过on_netUnavailable通知用户
    conn.on('netUnavailable', ((data: void) => {
      console.info(`netUnavailable`);
    }));
    console.info(`init end`);
  }
}
之后在页面中创建
@Entry
@Component
struct Index {
  private demo = new SNMDemo();
}
目前只有刚创建的netAvailable回调,之后关闭打开wifi、移动网络没有任何回调触发。
        HarmonyOS
      
        赞
        
 收藏 0
 回答 1
 
        待解决
        
相关问题
 HarmonyOS 关于监听网络变化的功能的问题 
1162浏览  • 1回复 待解决
HarmonyOS keyboardHeightChange键盘监听失效 
1260浏览  • 1回复 待解决
如何实现一个监听网络变化的方法 
1649浏览  • 1回复 待解决
HarmonyOS  onMemoryLevel监听内存变化 
929浏览  • 1回复 待解决
HarmonyOS升级版本后音量监听失效 
1697浏览  • 1回复 待解决
HarmonyOS 装饰器数据变化监听 
845浏览  • 1回复 待解决
HarmonyOS page如何监听数据变化 
1042浏览  • 1回复 待解决
HarmonyOS网络监听问题 
1211浏览  • 1回复 待解决
HarmonyOS 监听网络错误 
848浏览  • 1回复 待解决
HarmonyOS c++ 怎么监听网络状态变化,类似@ohos.net.connection提供的能力 
1007浏览  • 1回复 待解决
HarmonyOS 音频设备变化监听 
1183浏览  • 1回复 待解决
HarmonyOS  如何监听组件自身尺寸变化 
1000浏览  • 1回复 待解决
HarmonyOS  如何监听某个变量是否变化 
1171浏览  • 1回复 待解决
HarmonyOS 如何监听网络错误?没有网络情况下如何监听到 
1254浏览  • 1回复 待解决
如何监听窗口大小的变化 
3936浏览  • 1回复 待解决
如何监听window大小的变化 
1596浏览  • 1回复 待解决
网络连接能力监听,应用操作时需要随时监听过程中网络连接状态变化,将连接信息返回及时进行处理 
1575浏览  • 1回复 待解决
HarmonyOS 无感监听routerPageUpdate 在Ability中注册失效 
864浏览  • 1回复 待解决
HarmonyOS 进行二级请求后变量监听失效 
1358浏览  • 1回复 待解决
HarmonyOS  如何监听系统主题变化 
1171浏览  • 1回复 待解决
HarmonyOS 如何监听修改系统时间的变化? 
1362浏览  • 1回复 待解决
HarmonyOS 如何监听到音频焦点的变化 
1143浏览  • 1回复 待解决
HarmonyOS  如何监听text文本变化的行数? 
1510浏览  • 1回复 待解决
HarmonyOS 如何监听数组元素属性的变化? 
2096浏览  • 1回复 待解决
HarmonyOS 如何监听网络是否可用或者网络状态 
3195浏览  • 1回复 待解决





















请参考示例如下修改,关闭网络监听用netLost: