Spanish [SOLUCIONADO] MLwifi 3.03 y android 8.0

Xicu

Active Member
Licensed User
Estoy haciendo una aplicacion con la que pretendo obtener las diferentes redes wifi que estan al alcance del dispositivo, utilizando el metodo 'startScan' con el cual obtengo las variables "Results() i Count". La he probado en diferentes dispositivos con android 4,5,6,7 y funciona perfectamente. Pero en android 8.0, el metodo parece funcionar pero sin obtener resultados de redes proximas (y realmente en otras versiones si se detectan)
¿Alguien ha probado esta libreria en un dipositivo con Android 8.0?. ¿Puede que sea algun problema de permisos?.
Agradeceria cualquier pista.
Saludos
 

Peter Simpson

Expert
Licensed User
Una suposición rápida @Xicu.
B4X:
'In Process_Globals
       Private RP As RuntimePermissions
B4X:
'In Activity
        RP.CheckAndRequest(RP.PERMISSION_ACCESS_COARSE_LOCATION)
        Wait For Activity_PermissionResult (permission As String, Result As Boolean)
        If Not(Result) Then
            ToastMessageShow("Oops nooooooo...", True)
        Else
            ToastMessageShow("Yeeeeeeeeeees...", True)
        End If
B4X:
'In Manifest
        AddPermission(android.permission.ACCESS_WIFI_STATE)
        AddPermission(android.permission.CHANGE_WIFI_STATE)
        
        'Add for WiFi library
        AddPermission(android.permission.ACCESS_COARSE_LOCATION)
Enjoy...
 
Last edited:

bgsoft

Well-Known Member
Licensed User
Hola Xicu:

Los permisos de la libreria son :

android.permission.ACCESS_NETWORK_STATE
android.permission.ACCESS_WIFI_STATE
android.permission.CHANGE_WIFI_STATE
android.permission.INTERNET
android.permission.WAKE_LOCK

(https://www.b4x.com/android/forum/t...wifi-library-updated-v-3-03-04-04-2017.76235/ )

Ahora voy bastante liado, cuando pueda miro por que no va en 8 y la corrijo, lo mas seguro que es por un problema de permisos. Si le pones un sdk bajo (android:targetSdkVersion="22") en el manifest si que funciona en 8, pero tengo claro que esa no es la solución. Lo siento.

Saludos
 

Xicu

Active Member
Licensed User
Gracias Peter y BgSoft por contestar.
Añadiendo los permisos indicados por Peter, ya funciona correctamente.
No ha hecho falta poner un sdk bajo. Con (android:targetSdkVersion="26") funciona.
 
Top