How can I get BSSID (MAC address of the wifi router I'm connecting in, not my device MAC Address) in my Unity Game App on Android and iOS phone?

I have tried these method but none of them working.I check the result by printing it on game scene. Please help

**\*Method 1:** This code work fine and get the correct BSSID info but it's only work on Editor, when I build it to Android App it's not working, return string is nothing (Not null but empty value).

```
 string mac = "";
 var card = NetworkInterface.GetAllNetworkInterfaces().FirstOrDefault();
 if (card == null)
     return null;
 else
 {
     byte[] bytes = card.GetPhysicalAddress().GetAddressBytes();
     for (int i = 0; i < bytes.Length; i++)
     {
         mac = string.Concat(mac + (string.Format("{0}", bytes[i].ToString("X2"))));
         if (i != bytes.Length - 1)
         {
             //This is just for formating the final result
             mac = string.Concat(mac + ":");
         }
     }
     mac = card.GetPhysicalAddress().ToString();
     return mac;
 }

```

**\*Method 2:** I'm using AndroidJavaClass to call an android function to get BSSID on Android Phone as in Unity document. More info about [AndroidJavaClass](https://docs.unity3d.com/ScriptReference/AndroidJavaObject.Call.html) in Unity and [WifiInfo](https://developer.android.com/reference/android/net/wifi/WifiInfo.html#getBSSID()) class of Android

```
 string mac = "";
 AndroidJavaClass jc = new AndroidJavaClass("android.net.wifi.WifiInfo");
 mac = jc.Call<string>("getBSSID");

```

I also add android permission for reading wifi state by modifing "AndroidManifest.xml" file at location "[Project Location]\Assets\Plugins\Android" with the code below

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

```

Since this method not working on Editor, I build and run this on Android Phone but no string is return. Can anyone help me please.