codecamp

鸿蒙OS WLAN基础功能

场景介绍

应用或者其他模块可以通过接口完成以下功能:

  1. 获取 WLAN 状态,查询 WLAN 是否打开。
  2. 发起扫描并获取扫描结果。
  3. 获取连接态详细信息,包括连接信息、IP信息等。
  4. 获取设备国家码。
  5. 获取设备是否支持指定的能力。

接口说明

WifiDevice 提供 WLAN 的基本功能,其接口说明如下。

接口名 描述 所需权限
getInstance(Context context) 获取WLAN功能管理对象实例,通过该实例调用 WLAN 基本功能 API。 NA
isWifiActive() 获取当前WLAN打开状态。 ohos.permission.GET_WIFI_INFO
scan() 发起 WLAN 扫描。 ohos.permission.SET_WIFI_INFOohos.permission.LOCATION
getScanInfoList() 获取上次扫描结果。 ohos.permission.GET_WIFI_INFOohos.permission.LOCATION
isConnected() 获取当前 WLAN 连接状态。 ohos.permission.GET_WIFI_INFO
getLinkedInfo() 获取当前的 WLAN 连接信息。 ohos.permission.GET_WIFI_INFO
getIpInfo() 获取当前连接的 WLAN IP 信息。 ohos.permission.GET_WIFI_INFO
getSignalLevel(int rssi, int band) 通过 RSSI 与频段计算信号格数。 NA
getCountryCode() 获取设备的国家码。 ohos.permission.LOCATIONohos.permission.GET_WIFI_INFO
isFeatureSupported(long featureId) 获取设备是否支持指定的特性。 ohos.permission.GET_WIFI_INFO

获取 WLAN 状态

  1. 调用 WifiDevice 的 getInstance(Context context)接口,获取 WifiDevice 实例,用于管理本机 WLAN 操作。

  1. 调用 isWifiActive()接口查询 WLAN 是否打开。

   // 获取WLAN管理对象
   WifiDevice wifiDevice = WifiDevice.getInstance(context);
   // 调用获取WLAN开关状态接口
   boolean isWifiActive  = wifiDevice.isWifiActive(); // 若WLAN打开,则返回true,否则返回false

发起扫描并获取结果

  1. 调用 WifiDevice 的 getInstance(Context context)接口,获取 WifiDevice 实例,用于管理本机 WLAN 操作。

  1. 调用 scan() 接口发起扫描。

  1. 调用 getScanInfoList() 接口获取扫描结果。

   // 获取WLAN管理对象
   WifiDevice wifiDevice = WifiDevice.getInstance(context);
   // 调用WLAN扫描接口
   boolean isScanSuccess = wifiDevice.scan(); // true
   // 调用获取扫描结果
    List<WifiScanInfo> scanInfos = wifiDevice.getScanInfoList();

获取连接态详细信息

  1. 调用 WifiDevice 的 getInstance(Context context)接口,获取 WifiDevice 实例,用于管理本机WLAN操作。

  1. 调用 isConnected() 接口获取当前连接状态。

  1. 调用 getLinkedInfo() 接口获取连接信息。

  1. 调用 getIpInfo() 接口获取 IP 信息。

   // 获取WLAN管理对象
   WifiDevice wifiDevice = WifiDevice.getInstance(context);
   // 调用WLAN连接状态接口,确定当前设备是否连接WLAN
   boolean isConnected = wifiDevice.isConnected();
   if (isConnected) {
       // 获取WLAN连接信息
       Optional<WifiLinkedInfo> linkedInfo = wifiDevice.getLinkedInfo();
       // 获取连接信息中的SSID
       String ssid = linkedInfo.get().getSsid();
       // 获取WLAN的IP信息
       Optional<IpInfo> ipInfo = wifiDevice.getIpInfo();
       // 获取IP信息中的IP地址与网关
       int ipAddress = ipInfo.get().getIpAddress();
       int gateway = ipInfo.get().getGateway();
   }

获取设备国家码

  1. 调用 WifiDevice 的 getInstance(Context context) 接口,获取 WifiDevic e实例,用于管理本机WLAN操作。

  1. 调用 getCountryCode() 接口获取设备的国家码。

   // 获取WLAN管理对象
   WifiDevice wifiDevice = WifiDevice.getInstance(context);
   // 获取当前设备的国家码
   String countryCode = wifiDevice.getCountryCode();

判断设备是否支持指定的能力

  1. 调用 WifiDevice 的 getInstance(Context context)接口,获取 WifiDevice 实例,用于管理本机 WLAN 操作。

  1. 调用 isFeatureSupported(long featureId)接口判断设备是否支持指定的能力。

   // 获取WLAN管理对象
   WifiDevice wifiDevice = WifiDevice.getInstance(context);
   // 获取当前设备是否支持指定的能力
   boolean isSupport = wifiDevice.isFeatureSupported(WifiUtils.WIFI_FEATURE_INFRA);
   isSupport = wifiDevice.isFeatureSupported(WifiUtils.WIFI_FEATURE_INFRA_5G);
   isSupport = wifiDevice.isFeatureSupported(WifiUtils.WIFI_FEATURE_PASSPOINT);
   isSupport = wifiDevice.isFeatureSupported(WifiUtils.WIFI_FEATURE_P2P);
   isSupport = wifiDevice.isFeatureSupported(WifiUtils.WIFI_FEATURE_MOBILE_HOTSPOT);
   isSupport = wifiDevice.isFeatureSupported(WifiUtils.WIFI_FEATURE_AWARE);
   isSupport = wifiDevice.isFeatureSupported(WifiUtils.WIFI_FEATURE_AP_STA);
   isSupport = wifiDevice.isFeatureSupported(WifiUtils.WIFI_FEATURE_WPA3_SAE);
   isSupport = wifiDevice.isFeatureSupported(WifiUtils.WIFI_FEATURE_WPA3_SUITE_B);
   isSupport = wifiDevice.isFeatureSupported(WifiUtils.WIFI_FEATURE_OWE);
鸿蒙OS WLAN概述
鸿蒙OS P2P功能章
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

鸿蒙OS 开发

鸿蒙OS 术语

鸿蒙OS Java API参考

鸿蒙OS ohos.aafwk.ability

鸿蒙OS ohos.aafwk.abilityjet.activedata

鸿蒙OS ohos.aafwk.content

鸿蒙OS java.lang

鸿蒙OS java.Util

鸿蒙OS java.Util class

鸿蒙OS ohos.data.dataability

鸿蒙OS ohos.data.dataability class

鸿蒙OS ohos.agp.components

鸿蒙OS ohos.agp.components interface

鸿蒙OS ohos.agp.components class

鸿蒙OS ohos.global.configuration

鸿蒙OS java.io

鸿蒙OS ohos.data.resultset

鸿蒙OS ohos.data.resultset interface

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }