Android Question Phone upgraded to Android 4.4.2 and not connecting database

nachoap10

Member
Licensed User
Longtime User
Hi:

My Samsung S3 mini has upgraded today his firmware in order to support Android 4.4.2, and afterwards my B4A apps can't connect with databases. When I launch my app I get a security message saying me my app is trying to access to a protected resource :(. App starts but BD.Initialize fails.

BD path is ok, so it seems to be something related with the way the app makes the connection.

I'm working only with modules:

- Clipboard
- Core (v 3.80)
- Dialogs (v 2.30)
- Phone (v. 2.25)
- RandomAccessFile (v. 1.65)
- SQL (v. 1.20)
- StringUtils (v. 1.02)

I have two SQL apps and it fails in both. It's not a problem with new B4A because it has failed with a previous compilation version, and it fails with the most recent b4a version.

Please, i'll be happy if someone had the same problem and has a solution in order to solve it. I've tryed to return to original phone firmware (4.2.2) but when I restore my phone it goes to 4.4.2 (I suppose it's impossible to flash the old firm without rooting the phone).

If you need more information I'll put it.

My connection routine is this:

B4X:
Sub AbrirBD As Boolean
Dim TR As TextReader
Dim Resultado As Boolean
Dim sAux, sBD As String

' Abrir BD. Si no se puede, ir al menú de opciones
' Open BD. If it's impossible, go to options menu
    Resultado = False
    RutaBD = ""
    iNumRegistros = 0
           
    If BDActual = 1 Then
        sBD = "RutaBD.txt"
    Else
        sBD = "RutaBD2.txt"
    End If
       
    ' Cargar valor ruta de la bd si existe
    ' Load bd path, if it exists
    If File.Exists(File.DirInternal, sBD) Then
        TR.Initialize(File.OpenInput(File.DirInternal, sBD))
        RutaBD = TR.ReadLine
        TR.Close
    End If
   
    ' Cargar valor ruta de fotos si existe
    ' Load recipe photo folder, if it exists
    If File.Exists(File.DirInternal, "RutaFotos.txt") Then
        TR.Initialize(File.OpenInput(File.DirInternal, "RutaFotos.txt"))
        RutaFotos = TR.ReadLine
        TR.Close
    End If
   
   
    Try

        ' Activar BD
        ' Open BD. Here it fails since I upgraded firm today
        BDliparecetas.Initialize(GetParentPath(RutaBD), GetFileName(RutaBD), True)

        PonerFiltro
       
        ' Poner Select inicial
        Sel1 = "SELECT * FROM RECETAS " 'Select
        Filtrar ' Where
        Sel3 = ComponerOrden 'Order by

        CurRecetas = BDliparecetas.ExecQuery(Sel1 & Sel2 & Sel3)
       
        ' Calcular número de registros
        iNumRegistros = CurRecetas.RowCount
        Activity.Title = "P: " & ((iPosicion / 50) + 1) & ". " & Titulo & iNumRegistros & " RECETAS"
        iPosicion = 0
       
        ' Todo OK
        Resultado = True
    Catch
        Resultado = False
    End Try
   
    Return Resultado
End Sub

Thanks in advance.
 

nachoap10

Member
Licensed User
Longtime User
Solved! With Android 4.4.2 my apps can't have the database in sd card directly. I've put them in Downloads, in /emulated/legacy, and now it works.

Every day I hate Android and Google a little more... SD card seems to be protected now :( :( :(.
 
Upvote 0

nachoap10

Member
Licensed User
Longtime User
Upvote 0
Top