Xamarin 形成不同的 Mac 地址

问题描述 投票:0回答:1

我正在开发 Xamarin Forms 应用程序。

我想保存 mac 地址,我可以获取 mac 地址,但当我从设备设置中检查它时,它会有所不同。

public static string getMacAddress()
{
    string macAddress = string.Empty;

    var all = Collections.List(Java.Net.NetworkInterface.NetworkInterfaces);

    foreach (var interfaces in all)
    {
        if (!(interfaces as Java.Net.NetworkInterface).Name.Contains("wlan0")) 
           continue;

        var macBytes = (interfaces as Java.Net.NetworkInterface).GetHardwareAddress();

        if (macBytes == null) 
            continue;

        var sb = new System.Text.StringBuilder();

        foreach (var b in macBytes)
        {
            string convertedByte = string.Empty;
            convertedByte = (b & 0xFF).ToString("X2") + ":";

            if (convertedByte.Length == 1)
            {
                convertedByte.Insert(0, "0");
            }

            sb.Append(convertedByte);
        }

        macAddress = sb.ToString().Remove(sb.Length - 1);

        Console.WriteLine($"Mac Address : {macAddress} ");

        return macAddress;
    }

    return "02:00:00:00:00:00";
}

此代码返回类似

A1:B2:C3:D4:E5:F6
的 mac 地址,但我设备的 mac 地址确实是
G1:H2:I3:J4:K5:L6

这是为什么呢?我怎样才能匹配这些mac地址和设备。我将与我们的客户一起使用该应用程序,我们需要知道这一点。

我的手机是 poco f3,运行 Android 12。可能我们客户的设备的 Android 版本较低。

c# android xamarin.forms
1个回答
0
投票

您需要进入设置,wifi,选择已连接的wifi,您需要找到隐私,将随机mac地址更改为设备mac地址。您将在应用程序中看到真实的 mac 地址。 enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.