在软件开发中可以会用到mac地址作为,设备的唯一标示,我们也可以通过unity获取,经测试pc,ios都可以但是安卓没有获取到。
代码如下:
using UnityEngine; using System.Collections; using System.Net.NetworkInformation; public class NetWorkInfo : MonoBehaviour { void Start() { Debug.Log(GetMacAddress()); } public static string GetMacAddress() { string physicalAddress = ""; NetworkInterface[] nice = NetworkInterface.GetAllNetworkInterfaces(); foreach (NetworkInterface adaper in nice) { Debug.Log(adaper.Description); if (adaper.Description == "en0") { physicalAddress = adaper.GetPhysicalAddress().ToString(); break; } else { physicalAddress = adaper.GetPhysicalAddress().ToString(); if (physicalAddress != "") { break; }; } } return physicalAddress; }
void OnGUI() { GUI.Label(new Rect(0, 0, 200, 100), "MAC=" + GetMacAddress()); } }
补充说明:
using UnityEngine; using System.Collections; using System.Net.NetworkInformation; public class Test : MonoBehaviour { void Start() { NetworkInterface[] nis = NetworkInterface.GetAllNetworkInterfaces(); foreach (NetworkInterface ni in nis) { Debug.Log ("Name = " + ni.Name); Debug.Log ("Des = " + ni.Description); Debug.Log ("Type = " + ni.NetworkInterfaceType.ToString() ); Debug.Log ("Mac地址 = " + ni.GetPhysicalAddress().ToString() ); Debug.Log ("------------------------------------------------"); } } }