Italian B4A Ultima versione 10.90

nonno

Active Member
Licensed User
Longtime User
Ciao a tutti ho istallato la versione 10.90 il dispositivo si blocca alla conferma dei permessi, devo istallare delle nuove librerie.

'Attiva Permessi
Dim rp As RuntimePermissions
rp.CheckAndRequest(rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
rp.CheckAndRequest(rp.PERMISSION_CAMERA)
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
Log(Permission & " : " & Result)
Log(File.DirRootExternal) ' needed for permission
 

DavideTr94

Member
Ciao, credo che l'errore sia qui:

Modifica questo:
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)

Con questo:
Sub Activity_PermissionResult (Permission As String, Result As Boolean)
Log(Permission & " : " & Result)
Log(File.DirRootExternal)
End Sub

Quell'evento viene richiamato ogni volta che usi "CheckAndRequest"..

Spero di esserti stato di aiuto, saluti ?
 

LucaMs

Expert
Licensed User
Longtime User
L'ultima versione B4A attualmente è la 11.



Ciao, credo che l'errore sia qui:

Modifica questo:
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)

Con questo:
Sub Activity_PermissionResult (Permission As String, Result As Boolean)
Log(Permission & " : " & Result)
Log(File.DirRootExternal)
End Sub

Quell'evento viene richiamato ogni volta che usi "CheckAndRequest"..

Spero di esserti stato di aiuto, saluti ?
No, se sta usando le B4XPages nel suo progetto, il nome dell'evento dev'essere quello che ha messo, B4XPage_PermissionResult. Senza B4XPages, allora è Activity_PermissionResult.


Credo che il problema stia nell'eseguire consecutivamente il CheckAndRequest.
Così dovrebbe funzionare:
B4X:
   For Each permission As String In Array(rp.PERMISSION_WRITE_EXTERNAL_STORAGE, rp.PERMISSION_CAMERA)
       rp.CheckAndRequest(permission)
       Wait For B4XPage_PermissionResult (permission As String, Result As Boolean)
       If Result = False Then
           ToastMessageShow("Permesso negato", True)
           ' Qui agisci di conseguenza - chiudi l'app, suppongo.
           Return
       End If
   Next

Nota che non dovresti usare DirRootExternal, ci sono problemi a seconda della versione del dispositivo Android sul quale verrà installata l'app.
Meglio usare sempre xui.DefaultFolder (che in B4A corrisponde a DirInternal). Altrimenti, leggi i punti 9 (e 8) di questi suggerimenti/raccomandazioni di Erel:
https://www.b4x.com/android/forum/t...t-erel-recommends-to-avoid.133280/post-842277


P.S. Ci sono cascato ?, era una domanda del 18 giugno!
 
Last edited:

amorosik

Expert
Licensed User
Nota che non dovresti usare DirRootExternal, ci sono problemi a seconda della versione del dispositivo Android sul quale verrà installata l'app.
Meglio usare sempre xui.DefaultFolder (che in B4A corrisponde a DirInternal). Altrimenti, leggi i punti 9 (e 8) di questi suggerimenti/raccomandazioni di Erel:
https://www.b4x.com/android/forum/t...t-erel-recommends-to-avoid.133280/post-842277

P.S. Ci sono cascato ?, era una domanda del 18 giugno!

Beh ???
Mica scadono le domande
Hai fatto la tua brava 'buona azione' quotidiana da bravo lupetto
 
Top