isConnectedToAnOpenWifi

@RequiresPermission(allOf = ["android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE", "android.permission.SYSTEM_ALERT_WINDOW"])
suspend fun isConnectedToAnOpenWifi(): Boolean

Determine if an open WiFi is enabled.


🎯 Required permissions to be granted:

    rasp.toolkit.permission.askLocation(requireActivity())
rasp.toolkit.permission.askOverlay()


📝 Permissions needed in the manifest

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />


🔑 Minimum required license level: Core.



Sample usage

try {
val networkDiagnostic = rasp.diagnostic.network
val isConnectedToAnOpenWifi = networkDiagnostic.isConnectedToAnOpenWifi()
Log.d("RASP-DEMO", "[networkDiagnostic] isConnectedToAnOpenWifi: $isConnectedToAnOpenWifi")
} catch (e: Exception) {
Log.e("RASP-DEMO", "[networkDiagnostic] isConnectedToAnOpenWifi error: ${e.message}")
}


To observe changes of the WiFi check you can use the observe() method.

val modelNetwork = rasp.watcher.network.observe()
launch {
networkModel.isConnectedToAnOpenWifi.collect { detected ->
if (detected != null && detected) {
Log.d("Watcher", "Wifi value: $detected")
}
}

Return

Boolean — true if an open WiFi is currently detected.