当前位置: 首页 > news >正文

朋友 合同 网站制作全国疫情最新消息今天新增

朋友 合同 网站制作,全国疫情最新消息今天新增,福田企业网站建设,重庆市建设工程信息网安全监督特种作业监听Wifi状态变化 前言创建接收状态变化的Bean对象创建订阅者和订阅事件参考资料: 前言 本篇博文通过动态订阅公共事件来说明怎么使用HarmonyOS监听Wifi状态的变化。关于动态订阅公共事件的概念,官网有详细说明,再次就不在赘述。博文相关项目…

监听Wifi状态变化

  • 前言
  • 创建接收状态变化的Bean对象
  • 创建订阅者和订阅事件
  • 参考资料:

前言

本篇博文通过动态订阅公共事件来说明怎么使用HarmonyOS监听Wifi状态的变化。关于动态订阅公共事件的概念,官网有详细说明,再次就不在赘述。博文相关项目源码地址传送门。公共事件的监听需要通过订阅和注销两步。
在这里插入图片描述

创建接收状态变化的Bean对象

该对象主要用来存储Wifi当前的状态,比如是否已经链接、是否断开等。同时该Bean对象还定义了一个subscriber用来保持订阅者,用来执行订阅和注销


export class CommonEventBean {//省略部分代码/*** The state of common events.*/state: Resource = $r('app.string.event_init_state');//保存订阅者对象subscriber: any = null;
}

创建订阅者和订阅事件

监听Wifi变化,需要先调用CommonEventManager.createSubscriber创建订阅者,保存返回的订阅者对象subscriber,用于执行后续的订阅、退订等操作。下面看看就看具体怎么来监听Wifi变化的:

 /**@param commonEventItem 保存状态的Bean对象@*/subscribe(commonEventItem: CommonEventBean, callback: Function): void {let toastMsg: Resource;let commonEvent = commonEventItem;//创建需要订阅的事件,此处为CONN_STATEconst subscribeInfo = {events: [CommonConstants.CONN_STATE]};//创建订阅者CommonEventManager.createSubscriber(subscribeInfo, (err, subscriber) => {if (err) {toastMsg = $r('app.string.subscribe_fail');//创建订阅失败:执行回调,刷新相关UIcallback(commonEvent, toastMsg);return;}// 创建订阅者失败:执行回调,刷新相关UIif (subscriber === null) {toastMsg = $r('app.string.need_subscriber');callback(commonEvent, toastMsg);return;}//保存订阅者,用来后面的注销操作commonEvent.subscriber = subscriber;//通过订阅者subscriber 执行订阅 //订阅回调函数返回的data内包含了公共事件的名称、发布者携带的数据等信息CommonEventManager.subscribe(subscriber, (err, data) => {if (err) {//订阅失败:执行回调,刷新相关UItoastMsg = $r('app.string.subscribe_fail');callback(commonEvent, toastMsg);return;}let connState: string | undefined = data?.data;if (connState === undefined) {return;}//变量当前Wifi状态switch (connState) {case WifiState.CONNECTING:commonEvent.state = '连接中';break;case WifiState.DISCONNECTED:commonEvent.state = '已断开';break;case WifiState.DISCONNECTING:commonEvent.state = '正在断开';break;case WifiState.UNKNOWN_STATE:commonEvent.state = '未知状态';break;case WifiState.AP_CONNECTED:commonEvent.state = '已连接';break;default:break;}//执行回调,刷新相关UIcallback(commonEvent);})toastMsg = $r('app.string.subscribe_success');//执行回调,刷新相关UIcallback(commonEvent, toastMsg);})}

参考资料:

系统公共事件(ArkTS)
动态订阅公共事件
源码地址

http://www.zhongyajixie.com/news/43884.html

相关文章:

  • 上海网站建设yuue域名官网
  • 网页设计一个网站搜索引擎seo排名优化
  • 做公司网站需要多简述seo的基本步骤
  • wordpress如何嵌入b站视频百度网页推广
  • 宁波高端网站建设网络广告营销方案
  • 个人独资企业的优缺点seo基础教程视频
  • 天津网络科技有限公司seo排名优化培训
  • 写作投稿网站怎么做好网站方式推广
  • 网站定制设计价目表短视频seo软件
  • 大连网站建设意动科技公司山西搜索引擎优化
  • 提取卡密网站怎么做it培训学校哪家好
  • 四川省人民政府官网投诉电话河南网站seo
  • 网站安全检测平台近几天发生的新闻大事
  • 阿里云主机做网站南京网站设计公司
  • 招商加盟网站开发百度网络营销推广
  • 做旅游网站的意义杭州seo运营
  • 石家庄制作网站公司有哪些高端营销型网站
  • 外贸怎样做网站域名申请哪家好
  • 即墨网站建设哪家好免费放单平台无需垫付
  • 自己做网站前期困难吗宁波网络推广方式
  • 如何做网站站内搜索功能东莞seo优化排名
  • 太原网站上排名上海搜索seo
  • 临漳seo整站排名网站怎样才能在百度被搜索到
  • 上海网站建设费用千锋教育培训
  • 商城网站优化方案东莞seo排名收费
  • 加微信群网站怎么做的关键词搜索广告
  • 平台网站开发价格网站关键字优化
  • 网站开发简述百度云引擎搜索
  • 汕头网站推广费用上海seo服务外包公司
  • 谈谈你对网站建设有什么样好的建设意见企业推广方式有哪些