【问题标题】:Get ethernet router MAC address in android在android中获取以太网路由器MAC地址
【发布时间】:2016-12-21 07:51:20
【问题描述】:

我用这个函数来获取设备MAC地址

public static String getMacAddress(){
        try {
            return loadFileAsString("/sys/class/net/eth0/address")
                    .toUpperCase().substring(0, 17);
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }

现在我还需要获取此以太网所连接的路由器的 MAC 地址。我该怎么做?

【问题讨论】:

标签: android ethernet mac-address


【解决方案1】:

您应该使用 WifiInfo 类的getBSSID() 将返回远程接入点的 MAC 地址。

根据google docs,它以mac地址的形式返回当前接入点的基本服务集标识符(BSSID)。如果当前没有网络连接,则 BSSID 可能为空。

这里是一个例子:

public String getMacId() {

    WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    WifiInfo wifiInfo = wifiManager.getConnectionInfo();
    return wifiInfo.getBSSID();
}

【讨论】:

  • 这可能在设备通过 wifi 连接时有效,但是当我在以太网上尝试时它返回空字符串。
猜你喜欢
  • 2011-11-12
  • 1970-01-01
  • 2016-09-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-12
  • 1970-01-01
  • 2015-11-13
  • 1970-01-01
相关资源
最近更新 更多