-
public final class WifiManagerManager class for WiFi scanning and data collection using a simplified dual-timer approach.
Strategy:
Android 9+ (API 28+): Uses WifiScanner with low-latency settings for optimal performance (when available)
Android 8 and below: Uses traditional WifiManager with dual-timer approach
For Android 9+ (when WifiScanner is available):
WifiScanner with SCAN_TYPE_LOW_LATENCY for real-time scanning
Continuous scan results without throttling limitations
For older versions or when WifiScanner is not available:
Legitimate scan requests every 30 seconds (respects Android throttling)
System scan result checks every 1 second (no throttling limits)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public classWifiManager.Companion
-
Constructor Summary
Constructors Constructor Description WifiManager(Context context, DataManager dataManager)
-
Method Summary
Modifier and Type Method Description final UnitstartUpdates()Start WiFi scanning and data collection. final UnitstopUpdates()Stop WiFi scanning and data collection. final Unitshutdown()Clean up resources. final UnitsetAggressiveScanning(Boolean enabled)Enable or disable aggressive scanning mode. final UnitsetUltraFastMode(Boolean enabled)Enable or disable ultra-fast mode. final BooleanisAggressiveScanningEnabled()Get current aggressive scanning mode status. final BooleanisUltraFastModeEnabled()Get current ultra-fast mode status. final Map<String, Object>getScanningStatus()Get current WiFi scanning status and statistics. final UnitapplyConfig(WifiConfiguration config)-
-
Constructor Detail
-
WifiManager
WifiManager(Context context, DataManager dataManager)
-
-
Method Detail
-
startUpdates
final Unit startUpdates()
Start WiFi scanning and data collection.
-
stopUpdates
final Unit stopUpdates()
Stop WiFi scanning and data collection.
-
setAggressiveScanning
final Unit setAggressiveScanning(Boolean enabled)
Enable or disable aggressive scanning mode. Aggressive mode uses 1-second legitimate scan requests (requires throttling disabled). Conservative mode uses 30-second legitimate scans + 1-second system checks.
-
setUltraFastMode
final Unit setUltraFastMode(Boolean enabled)
Enable or disable ultra-fast mode. Ultra-fast mode ignores cache and submits every single scan result for maximum data freshness. This provides the absolute fastest data collection but uses more resources.
-
isAggressiveScanningEnabled
final Boolean isAggressiveScanningEnabled()
Get current aggressive scanning mode status.
-
isUltraFastModeEnabled
final Boolean isUltraFastModeEnabled()
Get current ultra-fast mode status.
-
getScanningStatus
final Map<String, Object> getScanningStatus()
Get current WiFi scanning status and statistics.
-
applyConfig
final Unit applyConfig(WifiConfiguration config)
-
-
-
-