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`);
}
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
之后在页面中创建
@Entry
@Component
struct Index {
private demo = new SNMDemo();
}
- 1.
- 2.
- 3.
- 4.
- 5.
目前只有刚创建的netAvailable回调,之后关闭打开wifi、移动网络没有任何回调触发。
HarmonyOS
赞
收藏 0
回答 1
相关问题
HarmonyOS 关于监听网络变化的功能的问题
779浏览 • 1回复 待解决
HarmonyOS keyboardHeightChange键盘监听失效
890浏览 • 1回复 待解决
如何实现一个监听网络变化的方法
1343浏览 • 1回复 待解决
HarmonyOS onMemoryLevel监听内存变化
580浏览 • 1回复 待解决
HarmonyOS升级版本后音量监听失效
1316浏览 • 0回复 待解决
HarmonyOS 监听网络错误
556浏览 • 1回复 待解决
HarmonyOS 音频设备变化监听
915浏览 • 1回复 待解决
HarmonyOS c++ 怎么监听网络状态变化,类似@ohos.net.connection提供的能力
811浏览 • 1回复 待解决
HarmonyOS 进行二级请求后变量监听失效
1014浏览 • 1回复 待解决
HarmonyOS 无感监听routerPageUpdate 在Ability中注册失效
640浏览 • 1回复 待解决
HarmonyOS网络监听问题
886浏览 • 1回复 待解决
HarmonyOS 如何监听系统主题变化
874浏览 • 1回复 待解决
HarmonyOS page如何监听数据变化
823浏览 • 1回复 待解决
HarmonyOS 装饰器数据变化监听
573浏览 • 1回复 待解决
网络连接能力监听,应用操作时需要随时监听过程中网络连接状态变化,将连接信息返回及时进行处理
1327浏览 • 1回复 待解决
HarmonyOS 如何监听网络是否可用或者网络状态
2086浏览 • 1回复 待解决
鸿蒙如何监听键盘高度变化
322浏览 • 1回复 待解决
HarmonyOS 如何监听网络错误?没有网络情况下如何监听到
822浏览 • 1回复 待解决
HarmonyOS监听组件参数变化,未变更问题
1120浏览 • 1回复 待解决
HarmonyOS 如何监听折叠屏折叠状态变化
1009浏览 • 1回复 待解决
HarmonyOS 网络监听回调多次
840浏览 • 1回复 待解决
HarmonyOS 网络连接监听问题
996浏览 • 1回复 待解决
HarmonyOS 网络监听api怎么用
711浏览 • 1回复 待解决
HarmonyOS 如何监听某个变量是否变化
725浏览 • 1回复 待解决
HarmonyOS 如何监听组件自身尺寸变化
758浏览 • 1回复 待解决
请参考示例如下修改,关闭网络监听用netLost: