Spanish Problemas conexion BT en nuevas versiones de Android

cas6678

Active Member
Licensed User
Longtime User
Las nuevas versiones de Android, y la necesidad de actualizarlas para permanecer en el Play Store, me han dado problemas en la conexion BT. He podido solucionar casi todo y ahora funciona bien con diferentes versiones de Android, lo he podido hacer con lo siguiente:

En el manifiest
B4X:
AddPermission(android.permission.ACCESS_FINE_LOCATION)
AddPermission(android.permission.BLUETOOTH_ADVERTISE)
AddPermission(android.permission.BLUETOOTH_CONNECT)
AddPermission(android.permission.BLUETOOTH_SCAN)

En el codigo:
B4X:
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION)
    Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
    If Result = False And Starter.rp.Check(Starter. rp.PERMISSION_ACCESS_COARSE_LOCATION) = False Then
        ToastMessageShow("No permission...", False)
        Return
    End If
    If phone.SdkVersion >= 31 Then
        For Each Permission As String In Array("android.permission.BLUETOOTH_SCAN", "android.permission.BLUETOOTH_CONNECT")
            Starter.rp.CheckAndRequest(Permission)
            Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
            If Result = False Then
                ToastMessageShow("No permission...", False)
                Return
            End If
        Next
    End If

Con esto he resuelto "casi" todo. Digo "casi" porque aun tengo problemas detectados (seguro habra mas) en dos sitios.

1) En mi telefono Xiaomi que lleva MIUI Global 12.0.2; y
2) En una Tablet Lenovo que si bien antes funcionaba bien a partir de una actualizacion a Android 11 dejo de funcionar.

En ambos casos ocurre lo mismo. Al parecer la conexion se realiza pero el intercambio de datos entre el dispositivo y el BT no.

Alguien tiene alguna experiencia que comentar sobre esto?

Desde ya muchas gracias y feliz 2023.
 

josejad

Expert
Licensed User
Longtime User
Hola Cas, y feliz año.

No tengo experiencia pero recordaba haber leído en este post lo que indicas de los nuevos permisos necesarios para que funcione el bluetooth.

"A new version of BLE_Example was uploaded. targetSdkVersion is now set to 29
Setting the targetSdkVersion to 29 requires some changes:

1. Add the fine location permission in the manifest editor.
2. Request this permission with RuntimePermissions.

Otherwise scanning will fail with a message visible in the unfiltered logs."

Aunque eso parece que lo has hecho ya
 

cas6678

Active Member
Licensed User
Longtime User
SI. Lo he hecho, y funciona. Solo en los dos modelos que indico he detectado problemas. En el Xiaomi que lleva MIUI y en una tablet Lenovo con Android 11, pero luego de actualizar el sistema operativo porque esa misma tablet llevaba un Android 11 anterior y funcionaba.
 
Top