获取设备的MAC地址

时间:2014-11-06 09:29:36

标签: c# windows-phone-8.1 bluetooth-lowenergy

我正在编写一个Windows Phone 8.1应用程序,可以发现附近的蓝牙低功耗设备。

foreach (DeviceInformation device in devices)
{
    BluetoothLEDevice bleDevice = await BluetoothLEDevice.FromIdAsync(device.Id);
}

一切正常,但bleDevice.BluetoothAddress属性包含ulong类型,而我需要一个字符串类型,格式类似于Mac地址。

示例:

  
    

bleDevice.BluetoothAddress: 254682828386071(ulong)

         

所需的Mac地址: D1:B4:EC:14:29:A8(字符串)(这是我需要它的示例,而不是设备的实际Mac地址)

  

有没有办法将长地转换为Mac地址?或者有没有其他方法可以直接发现Mac地址而无需转换?我知道有一个名为In The HAnd - 32feet的工具可以帮助我,但截至目前不支持Windows Phone 8.1。

1 个答案:

答案 0 :(得分:4)

您可以通过Google和StackOverflow找到许多主题。无论如何,这是一种方法:

ulong input = 254682828386071;
var tempMac = input.ToString("X");
//tempMac is now 'E7A1F7842F17'

var regex = "(.{2})(.{2})(.{2})(.{2})(.{2})(.{2})";
var replace = "$1:$2:$3:$4:$5:$6";
var macAddress = Regex.Replace(tempMac, regex, replace);
//macAddress is now 'E7:A1:F7:84:2F:17'