gpt4 book ai didi

android - 获取设备的 MAC 地址 - 当 wifi 关闭时

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:17:33 27 4
gpt4 key购买 nike

我正在使用以下代码查找 Android 设备的 MAC 地址:

WifiManager manager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo info = manager.getConnectionInfo();
String address = info.getMacAddress());

但在这种情况下,当 Wifi 关闭时我无法获取 MAC 地址。如何在 WIFI 关闭时获取 Android 设备的 MAC 地址。

谢谢

最佳答案

为什么不在获取 MAC 地址之前暂时启用 Wifi,然后在获取完 MAC 地址后将其禁用?

当然,这样做是在获取 MAC 地址绝对重要的情况下。

未经测试的代码

WifiManager wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);

if(wifiManager.isWifiEnabled()) {
// WIFI ALREADY ENABLED. GRAB THE MAC ADDRESS HERE
WifiInfo info = wifiManager.getConnectionInfo();
String address = info.getMacAddress();
} else {
// ENABLE THE WIFI FIRST
wifiManager.setWifiEnabled(true);

// WIFI IS NOW ENABLED. GRAB THE MAC ADDRESS HERE
WifiInfo info = wifiManager.getConnectionInfo();
String address = info.getMacAddress();
}

您将需要在 list 中设置这些权限

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.UPDATE_DEVICE_STATS"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>

我不完全确定在这种情况下是否需要 UPDATE_DEVICE_STATS 权限。在决定保留之前,请尝试一下。

关于android - 获取设备的 MAC 地址 - 当 wifi 关闭时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14949872/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com