EDIT after posting code:
apdataList doesn't seem to be initialized in onCreate ()
add this to onCreate ():
apdataList = new List<APData>();
Minimum Scan Delay
I think there is no absolute minimum scan delay. It depends too much on the characteristics of the equipment.
My advice is that you add the “As soon as possible” option to your preferences, then use an asynchronous loop that restarts the scan as soon as new results are found (see the code snippet below, it was updated according to your needs) . Thus, this will be limited only by hardware specifications.
You can also poll ScanResults using WifiManager.getScanResults() recommended way is to run WifiManager.startScan() and configure BroadcastReceiver for WifiManager.SCAN_RESULTS_AVAILABLE_ACTION to be notified as soon as the scan results are ready.
Here's a sample code (borrowed from here and adapted to your needs):
IntentFilter i = new IntentFilter(); i.addAction (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION); registerReceiver(new BroadcastReceiver(){ public void onReceive(Context c, Intent i){
Laurent '
source share