"02:00:00:00:00:00" does mean that the caller has insufficient permissions to access the BSSID. Why do I have insufficient permission? Whether I input a wrong or the right password it always returns "02:00:00:00:00:00". Even if I wait till the connection is established, it always returns the same value. I also have the permissions set in AndroidManifest.xml:
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" android:required="true" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
And this Java Code:
WifiConfiguration wifiConfig = new WifiConfiguration();
String ssid = "AndroidAPC572";
wifiConfig.preSharedKey = String.format("\"%s\"", "password");
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
int netId = wifiManager.addNetwork(wifiConfig);
boolean disconnected = wifiManager.disconnect();
wifiManager.enableNetwork(netId, true);
boolean reconnected = wifiManager.reconnect();
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
wifiInfo.getBSSID(); //always "02:00:00:00:00:00" / insufficient permission