写点什么

OpenHarmony 接收指定网络的状态变化通知

作者:坚果
  • 2023-04-26
    广东
  • 本文字数:920 字

    阅读完需:约 3 分钟

OpenHarmony接收指定网络的状态变化通知

OpenHarmony 接收指定网络的状态变化通知

作者:坚果

团队:坚果派

公众号:“大前端之旅”

润开鸿技术专家,华为 HDE,InfoQ 签约作者,OpenHarmony 布道师,擅长 HarmonyOS 应用开发、熟悉服务卡片开发,在“战码先锋”活动中作为大队长,累计培养三个小队长,带领 100+队员完成 Pr 的提交合入。

欢迎通过主页或者私信联系我,加入坚果派,一起学习 OpenHarmony/HarmonyOS 应用开发。


1.从 @ohos.net.connection.d.ts 中导入 connection 命名空间。


2.调用 createNetConnection 方法,指定网络能力、网络类型和超时时间(可选,如不传入代表默认网络;创建不同于默认网络时可通过指定这些参数完成),创建一个 NetConnection 对象。


3.调用该对象的 on()方法,传入 type 和 callback,订阅关心的事件。


4.调用该对象的 register()方法,订阅指定网络状态变化的通知。


5.当网络可用时,会收到 netAvailable 事件的回调;当网络不可用时,会收到 netUnavailable 事件的回调。


6.当不使用该网络时,可以调用该对象的 unregister()方法,取消订阅。


   // 引入包名import connection from '@ohos.net.connection'
let netCap = { // 假设当前默认网络是WiFi,需要创建蜂窝网络连接,可指定网络类型为蜂窝网 bearerTypes: [connection.NetBearType.BEARER_CELLULAR], // 指定网络能力为Internet networkCap: [connection.NetCap.NET_CAPABILITY_INTERNET],};let netSpec = { netCapabilities: netCap,};
// 指定超时时间为10s(默认值为0)let timeout = 10 * 1000;
// 创建NetConnection对象let conn = connection.createNetConnection(netSpec, timeout);
// 订阅事件,如果当前指定网络可用,通过on_netAvailable通知用户conn.on('netAvailable', (data => { console.log("net is available, netId is " + data.netId);}));
// 订阅事件,如果当前指定网络不可用,通过on_netUnavailable通知用户conn.on('netUnavailable', (data => { console.log("net is unavailable, netId is " + data.netId);}));
// 订阅指定网络状态变化的通知conn.register((err, data) => {});
// 当不使用该网络时,可以调用该对象的unregister()方法,取消订阅conn.unregister((err, data) => {});
复制代码


发布于: 刚刚阅读数: 4
用户头像

坚果

关注

此间若无火炬,我便是唯一的光 2020-10-25 加入

公众号:“大前端之旅”,OpenHarmony布道师,润和软件鸿蒙KOL,InfoQ签约作者,电子发烧友鸿蒙KOL

评论

发布
暂无评论
OpenHarmony接收指定网络的状态变化通知_OpenHarmony_坚果_InfoQ写作社区