harmony 鸿蒙@ohos.enterprise.wifiManager(WiFi管理)

2023-06-24 浏览 (1271)

@ohos.enterprise.wifiManager(WiFi管理)

本模块提供企业设备WiFi管理能力,包括查询WiFi开启状态等。

说明:

本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

本模块接口仅可在Stage模型下使用。

本模块接口仅对设备管理应用开放,需将设备管理应用激活后调用,实现相应功能。

导入模块

import wifiManager from '@ohos.enterprise.wifiManager';

wifiManager.isWifiActive

isWifiActive(admin: Want, callback: AsyncCallback<boolean>): void

指定设备管理应用查询wifi开启状态。使用callback异步回调。

需要权限: ohos.permission.ENTERPRISE_SET_WIFI

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

系统API: 此接口为系统接口。

参数:

参数名类型必填说明
adminWant设备管理应用。
callbackAsyncCallback<boolean>回调函数,当接口调用成功,err为null,data为boolean值,true表示wifi开启,false表示wifi关闭,否则err为错误对象。

错误码

以下的错误码的详细介绍请参见企业设备管理错误码

错误码ID错误信息
9200001the application is not an administrator of the device.
9200002the administrator application does not have permission to manage the device.

示例:

import Want from '@ohos.app.ability.Want';
let wantTemp: Want = {
  bundleName: 'com.example.myapplication',
  abilityName: 'EntryAbility',
};

wifiManager.isWifiActive(wantTemp, (err, result) => {
  if (err) {
    console.error(`Failed to query is wifi active or not. Code: ${err.code}, message: ${err.message}`);
    return;
  }
  console.info(`Succeeded in query is wifi active or not, result : ${result}`);
});

wifiManager.isWifiActive

isWifiActive(admin: Want): Promise<boolean>

指定设备管理应用获取wifi开启状态。使用Promise异步回调。

需要权限: ohos.permission.ENTERPRISE_SET_WIFI

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

系统API: 此接口为系统接口。

参数:

参数名类型必填说明
adminWant设备管理应用。

返回值:

类型说明
Promise<boolean>Promise结果,返回wifi开启状态,true表示wifi开启,false表示wifi关闭。

错误码

以下的错误码的详细介绍请参见企业设备管理错误码

错误码ID错误信息
9200001the application is not an administrator of the device.
9200002the administrator application does not have permission to manage the device.

示例:

import Want from '@ohos.app.ability.Want';
import { BusinessError } from '@ohos.base';
let wantTemp: Want = {
  bundleName: 'com.example.myapplication',
  abilityName: 'EntryAbility',
};

wifiManager.isWifiActive(wantTemp).then((result) => {
  console.info(`Succeeded in query is wifi active or not, result : ${result}`);
}).catch((err: BusinessError) => {
  console.error(`Failed to query is wifi active or not. Code: ${err.code}, message: ${err.message}`);
});

wifiManager.setWifiProfile

setWifiProfile(admin: Want, profile: WifiProfile, callback: AsyncCallback<void>): void

指定设备管理应用为设备配置wifi,使连接到指定网络。使用callback异步回调。

需要权限: ohos.permission.ENTERPRISE_SET_WIFI

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

系统API: 此接口为系统接口。

参数:

参数名类型必填说明
adminWant设备管理应用。
profileWifiProfileWLAN配置信息。
callbackAsyncCallback<void>回调函数,当接口调用成功,err为null,否则为错误对象。

错误码

以下的错误码的详细介绍请参见企业设备管理错误码

错误码ID错误信息
9200001the application is not an administrator of the device.
9200002the administrator application does not have permission to manage the device.

示例:

import Want from '@ohos.app.ability.Want';
let wantTemp: Want = {
  bundleName: 'com.example.myapplication',
  abilityName: 'EntryAbility',
};
let profile: wifiManager.WifiProfile = {
  'ssid': 'name',
  'preSharedKey': 'passwd',
  'securityType': wifiManager.WifiSecurityType.WIFI_SEC_TYPE_PSK
};

wifiManager.setWifiProfile(wantTemp, profile, (err) => {
  if (err) {
    console.error(`Failed to set wifi profile. Code: ${err.code}, message: ${err.message}`);
    return;
  }
  console.info('Succeeded in setting wifi profile');
});

wifiManager.setWifiProfile

setWifiProfile(admin: Want, profile: WifiProfile): Promise<void>

指定设备管理应用为设备配置wifi,使连接到指定网络。使用Promise异步回调。

需要权限: ohos.permission.ENTERPRISE_SET_WIFI

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

系统API: 此接口为系统接口。

参数:

参数名类型必填说明
adminWant设备管理应用。
profileWifiProfileWLAN配置信息。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。当配置wifi连接到指定网络失败时会抛出错误对象。

错误码

以下的错误码的详细介绍请参见企业设备管理错误码

错误码ID错误信息
9200001the application is not an administrator of the device.
9200002the administrator application does not have permission to manage the device.

示例:

import Want from '@ohos.app.ability.Want';
import { BusinessError } from '@ohos.base';
let wantTemp: Want = {
  bundleName: 'com.example.myapplication',
  abilityName: 'EntryAbility',
};
let profile: wifiManager.WifiProfile = {
  'ssid': 'name',
  'preSharedKey': 'passwd',
  'securityType': wifiManager.WifiSecurityType.WIFI_SEC_TYPE_PSK
};

wifiManager.setWifiProfile(wantTemp, profile).then(() => {
  console.info('Succeeded in setting wifi profile');
}).catch((err: BusinessError) => {
  console.error(`Failed to set wifi profile. Code: ${err.code}, message: ${err.message}`);
});

WifiProfile

WLAN配置信息

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

系统API: 此接口为系统接口。

名称类型可读可写说明
ssidstring热点的SSID,编码格式为UTF-8。
bssidstring热点的BSSID。
preSharedKeystring热点的密钥。
isHiddenSsidboolean是否是隐藏网络。
securityTypeWifiSecurityType加密类型。
creatorUidnumber创建用户的ID。
disableReasonnumber禁用原因。
netIdnumber分配的网络ID。
randomMacTypenumber随机MAC类型
randomMacAddrstring随机MAC地址
ipTypeIpTypeIP地址类型
staticIpIpProfile静态IP配置信息。
eapProfileWifiEapProfile可扩展身份验证协议配置。

WifiSecurityType

表示加密类型的枚举。

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

系统API: 此接口为系统接口。

名称说明
WIFI_SEC_TYPE_INVALID0无效加密类型。
WIFI_SEC_TYPE_OPEN1开放加密类型。
WIFI_SEC_TYPE_WEP2Wired Equivalent Privacy (WEP)加密类型。
WIFI_SEC_TYPE_PSK3Pre-shared key (PSK)加密类型。
WIFI_SEC_TYPE_SAE4Simultaneous Authentication of Equals (SAE)加密类型。
WIFI_SEC_TYPE_EAP5EAP加密类型。
WIFI_SEC_TYPE_EAP_SUITE_B6Suite-B 192位加密类型。
WIFI_SEC_TYPE_OWE7机会性无线加密类型。
WIFI_SEC_TYPE_WAPI_CERT8WAPI-Cert加密类型。
WIFI_SEC_TYPE_WAPI_PSK9WAPI-PSK加密类型。

IpType

表示IP类型的枚举。

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

系统API: 此接口为系统接口。

名称说明
STATIC0静态IP。
DHCP1通过DHCP获取。
UNKNOWN2未指定。

IpProfile

IP配置信息。

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

系统API: 此接口为系统接口。

名称类型可读可写说明
ipAddressnumberIP地址。
gatewaynumber网关。
prefixLengthnumber掩码。
dnsServersnumber[]DNS服务器。
domainsArray<string>域信息。

WifiEapProfile

可扩展身份验证协议配置信息。

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

系统API: 此接口为系统接口。

名称类型可读可写说明
eapMethodEapMethodEAP认证方式。
phase2MethodPhase2Method第二阶段认证方式。
identitystring身份信息。
anonymousIdentitystring匿名身份。
passwordstring密码。
caCertAliasesstringCA 证书别名。
caPathstringCA 证书路径。
clientCertAliasesstring客户端证书别名。
certEntryUint8ArrayCA 证书内容。
certPasswordstringCA证书密码。
altSubjectMatchstring替代主题匹配。
domainSuffixMatchstring域后缀匹配。
realmstring通行证凭证的领域。
plmnstring公共陆地移动网的直通凭证提供商。
eapSubIdnumberSIM卡的子ID。

EapMethod

表示EAP认证方式的枚举。

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

系统API: 此接口为系统接口。

名称说明
EAP_NONE0不指定。
EAP_PEAP1PEAP类型。
EAP_TLS2TLS类型。
EAP_TTLS3TTLS类型。
EAP_PWD4PWD类型。
EAP_SIM5SIM类型。
EAP_AKA6AKA类型。
EAP_AKA_PRIME7AKA Prime类型。
EAP_UNAUTH_TLS8UNAUTH TLS类型。

Phase2Method

表示第二阶段认证方式的枚举。

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

系统API: 此接口为系统接口。

名称说明
PHASE2_NONE0不指定。
PHASE2_PAP1PAP类型。
PHASE2_MSCHAP2MSCHAP类型。
PHASE2_MSCHAPV23MSCHAPV2类型。
PHASE2_GTC4GTC类型。
PHASE2_SIM5SIM类型。
PHASE2_AKA6AKA类型。
PHASE2_AKA_PRIME7AKA Prime类型。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙接口

harmony 鸿蒙系统公共事件定义(待停用)

harmony 鸿蒙系统公共事件定义

harmony 鸿蒙开发说明

harmony 鸿蒙企业设备管理概述(仅对系统应用开放)

harmony 鸿蒙BundleStatusCallback

harmony 鸿蒙@ohos.bundle.innerBundleManager (innerBundleManager模块)

harmony 鸿蒙@ohos.distributedBundle (分布式包管理)

harmony 鸿蒙@ohos.bundle (Bundle模块)

harmony 鸿蒙@ohos.enterprise.EnterpriseAdminExtensionAbility (企业设备管理扩展能力)

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/c422cb306057432fb911d89e05d51684