• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

鸿蒙OS WLAN消息通知

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

场景介绍

WLAN 消息通知(Notification)是 HarmonyOS 内部或者与应用之间跨进程通讯的机制,注册者在注册消息通知后,一旦符合条件的消息被发出,注册者即可接收到该消息并获取消息中附带的信息。

接口说明

描述 通知名 附加参数
WLAN状态 usual.event.wifi.POWER_STATE active_state
WLAN扫描 usual.event.wifi.SCAN_FINISHED scan_state
WLAN RSSI变化 usual.event.wifi.RSSI_VALUE rssi_value
WLAN连接状态 usual.event.wifi.CONN_STATE conn_state
Hotspot状态 usual.event.wifi.HOTSPOT_STATE hotspot_active_state
Hotspot连接状态 usual.event.wifi.WIFI_HS_STA_JOIN usual.event.wifi.WIFI_HS_STA_LEAVE -
P2P状态 usual.event.wifi.p2p.STATE_CHANGE p2p_state
P2P连接状态 usual.event.wifi.p2p.CONN_STATE_CHANGE linked_infonet_infogroup_info
P2P设备列表变化 usual.event.wifi.p2p.PEERS_STATE_CHANGE peers_list
P2P搜索状态变化 usual.event.wifi.p2p.PEER_DISCOVERY_STATE_CHANGE peers_discovery
P2P当前设备变化 usual.event.wifi.p2p.CURRENT_DEVICE_CHANGE p2p_device
P2P群组信息变化 usual.event.wifi.p2p.GROUP_STATE_CHANGED -

开发步骤

  1. 构建消息通知接收者 WifiEventSubscriber。

  1. 注册 WLAN 变化消息。

  1. WifiEventSubscriber 接收并处理 WLAN 广播消息。

   // 构建消息接收者/注册者
   class WifiEventSubscriber extends CommonEventSubscriber {
       WifiEventSubscriber (CommonEventSubscribeInfo info) {
           super(info);
       }

    
       @Override
       public void onReceiveEvent(CommonEventData commonEventData) {
           if (WifiEvents.EVENT_ACTIVE_STATE.equals(commonEventData.getIntent().getAction())) {
               // 获取附带参数
               IntentParams params = commonEventData.getIntent().getParams();
               if (params == null) {
                   return;
               }
               int wifiState= (int) params.getParam(WifiEvents.PARAM_ACTIVE_STATE);

               
               if (wifiState== WifiEvents.STATE_ACTIVE) { // 处理WLAN被打开消息
                   HiLog.info(LABEL, false, "Receive WifiEvents.STATE_ACTIVE %{public}d", wifiState);
               } else if (wifiState == WifiEvents.STATE_INACTIVE) { // 处理WLAN被关闭消息  
                   HiLog.info(LABEL, false, "Receive WifiEvents.STATE_INACTIVE %{public}d", wifiState);
               } else { // 处理WLAN异常状态
                   HiLog.info(LABEL, false, "Unknown wifi state");
               }
           }
       }
   }

    
   // 注册消息
   MatchingSkills match = new MatchingSkills();
   // 增加获取WLAN状态变化消息
   filter.addEvent(WifiEvents.EVENT_ACTIVE_STATE);
   CommonEventSubscribeInfo subscribeInfo = new CommonEventSubscribeInfo(match);
   subscribeInfo.setPriority(100); 
   WifiEventSubscriber subscriber = new WifiEventSubscriber(subscribeInfo);

    
   try {
       CommonEventManager.subscribeCommonEvent(subscriber);
   } catch (RemoteException e) {
       HiLog.warn(LABEL, false, "subscribe in wifi events failed!");
   }

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
鸿蒙OS 网络管理发布时间:2022-02-02
下一篇:
鸿蒙OS P2P功能章发布时间:2022-02-02
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap