基础功能
场景介绍
应用或者其他
模块可以通过接口完成以下功能:
1. 获取
WLAN 状态;
2. 发起扫描并获取扫描结果;
3. 获取连接态详细信息;
4. 获取 WLAN 相关配置与支持能力;
5. 获取设备国家码;
6. 获取设备是否支持指定的能力;
7. 通过系统消息告知应用或者其他模块状态变化。
开放能力介绍
WLAN 基本功能的开放能力如下:
开发步骤
获取 WLAN 状态
1. 调用
wifidevice 的 getInstance()接口,获取 WifiDevice 实例,用于管理本机 WLAN 操作。
2. 调用 isWifiActive()接口查询 WLAN 是否打开。
// 获取 WLAN 管理对象
WifiDevice mWifiDevice = WifiDevice.getInstance(context);
// 调用获取 WLAN 开关状态接口
boolean isWifiActive = mWifiDevice.isWifiActive(); // 若 WLAN 打开,则返回 true,否则返回
false
发起扫描并获取扫描结果
1. 调用 WifiDevice 的 getInstance()接口,获取 WifiDevice 实例,用于管理本机 WLAN 操作。
2. 调用 scan()接口发起扫描。
3. 调用 getScanInfoList()接口获取扫描结果。
// 获取 WLAN 管理对象
WifiDevice mWifiDevice = WifiDevice.getInstance(context);
// 调用 WLAN 扫描接口
boolean isScanSuccess = mWifiDevice.scan(); // true
// 调用获取扫描结果
List<WifiScanInfo> scanInfos = mWifiDevice.getScanInfoList();
获取连接态详细信息
1. 调用 WifiDevice 的 getInstance()接口,获取 WifiDevice 实例,用于管理本机 WLAN 操作。
2. 调用 isConnected()接口获取当前连接状态。
3. 调用 getLinkedInfo()接口获取连接信息。
4. 调用 getIpInfo()接口获取 IP 信息。
// 获取 WLAN 管理对象
WifiDevice mWifiDevice = WifiDevice.getInstance(context);
// 调用 WLAN 连接状态接口,确定当前设备是否连接 WLAN
boolean isConnected = mWifiDevice.isConnected();
if (isConnected) {
// 获取 WLAN 连接信息
optional<WifiLinkedInfo> linkedInfo = mWifiDevice.getLinkedInfo();
// 获取连接信息中的 SSID
String ssid = linkedInfo.get().getSsid();
// 获取 WLAN 的 IP 信息
Optional<IpInfo> ipInfo = mWifiDevice.getIpInfo();
// 获取 IP 信息中的 IP 地址与网关
int ipAddress = ipInfo.get().getIpAddress();
int gateway = ipInfo.get().getGateway();
获取设备国家码
1. 调用 WifiDevice 的 getInstance()接口,获取 WifiDevice 实例,用于管理本机 WLAN 操作。
2. 调用 g
ETCountryCode()接口获取设备的国家码。
// 获取 WLAN 管理对象
WifiDevice mWifiDevice = WifiDevice.getInstance(context);
// 获取当前设备的国家码
String countryCode = mWifiDevice.getCountryCode();
获取设备是否支持指定的能力
1. 调用 WifiDevice 的 getInstance()接口,获取 WifiDevice 实例,用于管理本机 WLAN 操作。
2. 调用 isFeature
supported()接口获取设备是否支持指定的能力。
// 获取 WLAN 管理对象
WifiDevice mWifiDevice = WifiDevice.getInstance(context);
// 获取当前设备是否支持指定的能力
boolean isSupport = mWifiDevice.isFeatureSupported(WifiUtils.WIFI_FEATURE_INFRA);
isSupport = mWifiDevice.isFeatureSupported(WifiUtils.WIFI_FEATURE_INFRA_5G);
isSupport = mWifiDevice.isFeatureSupported(WifiUtils.WIFI_FEATURE_PASSPOINT);
isSupport = mWifiDevice.isFeatureSupported(WifiUtils.WIFI_FEATURE_P2P);
isSupport = mWifiDevice.isFeatureSupported(WifiUtils.WIFI_FEATURE_MOBILE_HOTSPOT);
isSupport = mWifiDevice.isFeatureSupported(WifiUtils.WIFI_FEATURE_AWARE);
isSupport = mWifiDevice.isFeatureSupported(WifiUtils.WIFI_FEATURE_AP_STA);
isSupport = mWifiDevice.isFeatureSupported(WifiUtils.WIFI_FEATURE_WPA3_SAE);
isSupport = mWifiDevice.isFeatureSupported(WifiUtils.WIFI_FEATURE_WPA3_SUITE_B);
isSupport = mWifiDevice.isFeatureSupported(WifiUtils.WIFI_FEATURE_OWE);
......
更多详细内容请下载附件查看