当前位置: 首页 > 知识库问答 >
问题:

在Android6.0中获取MAC地址

羊慈
2023-03-14

我正在开发一个获取设备MAC地址的应用程序,但由于Android6.0,我的代码无法运行,给了我一个不正确的值。

这是我的代码...

public String ObtenMAC()
{
    WifiManager manager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    WifiInfo info = manager.getConnectionInfo();

    return(info.getMacAddress().toUpperCase());
}

它返回的不是真正的MAC地址,而是一个奇怪的代码:02:00:00:00:00

共有1个答案

闻人越
2023-03-14

请参考Android 6.0的改动。

为了给用户提供更好的数据保护,从本版本开始,Android取消了使用Wi-Fi和Bluetooth API的应用程序对设备本地硬件标识符的编程访问。wifiInfo.getMacAddress()和BluetoothAdapter.getAddress()方法现在返回一个常量值02:00:00:00:00。

要通过蓝牙和Wi-Fi扫描访问附近外部设备的硬件标识符,您的应用程序现在必须具有ACCESS_FINE_LOCATION或ACCESS_COARSE_LOCATION权限。

 类似资料:
  • 问题内容: 我需要一种跨平台的方法来在运行时确定计算机的MAC地址。对于Windows,可以使用“ wmi”模块,在Linux下,我能找到的唯一方法是运行ifconfig并在其输出中运行正则表达式。我不喜欢使用只能在一个OS上运行的程序包,而且更不用说容易出错的语法解析另一个程序的输出。 有谁知道跨平台方法(Windows和Linux)方法来获取MAC地址?如果没有,还有谁比我上面列出的方法更优雅

  • 序言 我正在使用Swift 2开发Xcode 7.0.1 是我试图了解如何检索这些信息的时间(更新、天数) 我已经看到了一个框架,CoreBooth,可能可以帮助我。(更新,绝对不是!!) 任何想法?Objecte-c/swwift/c/c...不管是什么...都是一样的。 我已经在这个答案中测试了代码,但打印了: 关于这一点,我已经阅读了官方文件: 在iOS 7及更高版本中,如果您询问iOS设备

  • 问题内容: 我需要从PC获取MAC地址。到目前为止,我已经编写了代码(这只是代码的一小部分)。 此代码查找运行它的PC的MAC,但是我需要获取远程MAC。 问题答案: 您无法在Java中做到这一点,并且如果您进行了一些研究,您会发现MAC地址除了以太网层和与其相连的NIC之外并没有什么用。

  • 问题内容: 有没有办法在Node.js上找到客户端的mac地址?我一直在搜索它,但是我发现了node- sigar项目,但是它没有用,因为它引发了“找不到模块./build/Release/sigar”错误。 问题答案: 除非您的代码与客户端在同一LAN段上运行,否则您将无法获取客户端的MAC地址。您可能需要使用命令行工具或本机支持才能获得本地LAN网段上的地址。 对于nodejs:https :

  • 我在获取机器的mac地址时遇到了一个问题,在本问题中使用以下代码解决了这个问题: 但是,我想知道为什么这段代码不起作用。每次读取MAC地址时,它都会返回一个不同的值。一开始我以为是因为getHash,也许用了一个我不知道的时间戳...但即使移除它,结果也会改变。