Wifi Direct - 此设备地址不适用于 android 10
Posted
技术标签:
【中文标题】Wifi Direct - 此设备地址不适用于 android 10【英文标题】:Wifi Direct - This device address not work on android 10 【发布时间】:2020-09-07 21:16:46 【问题描述】:我使用此方法获取设备的 MAC 地址。这在 android 9 及更低版本中运行良好。但在 Android 10 中,MAC 地址没有正确给出,每次都会给出这个值:02: 00: 00: 00: 00: 00
public class WifiDirectBroadcastReceiver extends BroadcastReceiver
@Override
public void onReceive(Context context, Intent intent)
String action = intent.getAction();
switch (action)
case WifiP2pManager.WIFI_P2P_THIS_DEVICE_CHANGED_ACTION:
WifiP2pDevice device = intent.getParcelableExtra(WifiP2pManager.EXTRA_WIFI_P2P_DEVICE);
Log.i("My device wifi direct Mac address", device.deviceAddress);
break;
【问题讨论】:
It is supposed to be random。无论如何,除非您的应用是设备所有者应用,否则您不应该有权访问 MAC 地址。 【参考方案1】: public String getWFDMacAddress()
try
List<NetworkInterface> interfaces = Collections.list(NetworkInterface.getNetworkInterfaces());
for (NetworkInterface ntwInterface : interfaces)
if (ntwInterface.getName().equalsIgnoreCase("p2p0"))
byte[] byteMac = ntwInterface.getHardwareAddress();
if (byteMac == null)
return null;
StringBuilder strBuilder = new StringBuilder();
for (byte b : byteMac)
strBuilder.append(String.format("%02X:", b));
if (strBuilder.length() > 0)
strBuilder.deleteCharAt(strBuilder.length() - 1);
return strBuilder.toString();
catch (Exception ignored)
return null;
【讨论】:
以上是关于Wifi Direct - 此设备地址不适用于 android 10的主要内容,如果未能解决你的问题,请参考以下文章
在wifi-direct p2p连接中获取对等设备的IP地址[重复]
如何在 WiFi Direct 中获取非群组所有者的 IP 地址?