Uniquely identify a specific wifi source using Android devices

I am working on an app that will allow indoor navigation with hardware devices that emit Wi-Fi signals in large public places such as hotels and hospitals. Each location will have multiple devices and each device will be unique so that we can identify the exact location of the device / person.

To do this, I don't want the user to connect to Wi-Fi if it was only possible to check the network that could identify the current Wi-Fi beacon that is closest to mobile devices. I decided to use Android WifiManager to accomplish this task:

WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
                    wifi.setWifiEnabled(true);

                   wifi.startScan() ;
                   List<ScanResult> mScanResults = wifi.getScanResults();
                   String s = "" ; 
                   for(ScanResult result: mScanResults){
                     Log.d("Wifi", result.SSID) ; 
                   }

      

None of the result attributes are suitable for use as the UID for the Wifi Beacon, I have two questions:

a) Can we use something like BSSID for this purpose?

b) Can I write my own wifi manager class and then somehow negotiate a handshake with wifi where it just tells me who it is without plugging it in? If so, please share resources for that.

+3


source to share





All Articles