该函数是一个公共方法,用于获取当前连接的 WiFi 网络的 MAC 地址。它需要一个上下文对象作为参数。

public String getConnectedWifiMacAddress(Context context) {
    WifiManager wifiManager = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
    if (wifiManager != null) {
        WifiInfo wifiInfo = wifiManager.getConnectionInfo();
        if (wifiInfo != null) {
            String macAddress = wifiInfo.getBSSID();
            if (macAddress != null && !macAddress.isEmpty()) {
                return macAddress;
            }
        }
    }
    return null;
}

函数解释:

  1. 获取 WiFi 服务: 使用 context.getApplicationContext().getSystemService(Context.WIFI_SERVICE) 获取系统提供的 WiFi 服务,并存储到 wifiManager 变量中。
  2. 检查 WiFi 服务: 检查 wifiManager 是否为空,如果为空则说明系统没有提供 WiFi 服务,直接返回 null
  3. 获取连接信息: 如果 wifiManager 不为空,则调用 wifiManager.getConnectionInfo() 获取当前连接的 WiFi 信息,并存储到 wifiInfo 变量中。
  4. 检查 MAC 地址: 检查 wifiInfo 是否为空,如果为空则说明没有连接到 WiFi 网络,直接返回 null
  5. 获取 MAC 地址: 如果 wifiInfo 不为空,则调用 wifiInfo.getBSSID() 获取当前连接 WiFi 网络的 MAC 地址,并存储到 macAddress 变量中。
  6. 判断 MAC 地址: 检查 macAddress 是否为空或空字符串,如果为空则说明获取失败,返回 null
  7. 返回 MAC 地址: 如果 macAddress 不为空,则返回获取到的 MAC 地址。

参数:

  • Context context: 上下文对象,用于获取 WiFi 服务。

返回值:

  • String: 当前连接的 WiFi 的 MAC 地址,如果没有连接则返回 null

原文地址: https://www.cveoy.top/t/topic/mXgJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录