Closed DhavalRKansara closed 4 years ago
Google has now documented the limitations for startScan() function in Android P:
"We are further limiting the number of scans apps can request to improve network performance and improve battery life.
The WifiManager.startScan() usage is limited to: - Each foreground app is restricted to 4 scans every 2 minutes. - All background apps combined are restricted to one scan every 30 minutes."
Source: https://issuetracker.google.com/issues/79906367
Edit 8-Aug-2018: Information has been added also here: https://developer.android.com/guide/topics/connectivity/wifi-scan
Hey! I too am facing this error, and probably its due to this throttle limitation only. So can I get some help for knowing how exactly can I use this scanNetworks() method encountering this error? Is it totally impossible for us to call the scanNetworks() function, even after (lets say) a gap of 45 seconds or a minute? I tried giving this much of delay between two scanNetworks() calls, but the error persists...
You need to ensure that you have the correct permissions to make a scan wifi request and you need to make the requests in code before scan wifi is called: https://pub.dev/packages/permission_handler can get you there. Don't forget the lines in android's manifest too.
I don't suggest wrapping the error in a try catch as in reality you should require the user grant the necessary permissions before trying to scan networks.
Depending on your use case though https://github.com/weplenish/flutter_wifi_connect may be a better fit.
While calling ScanNetworks() method Application get crashed and receive below error.