Italian Permessi Lettura / Scrittura

nonno

Active Member
Licensed User
Longtime User
ciao, ho trovato vari tutoria riguardo i permessi ma non riesco a farli funzionare con B4x istallato jdk 11 e B4a ultima versione :rolleyes:
 

Star-Dust

Expert
Licensed User
Longtime User
Fai un esempio di codice che hai creato e non ti funziona. Meglio se metti un esempio zippato
 

nonno

Active Member
Licensed User
Longtime User
B4X:
 Sotto Class_Globals
Radice privata come B4XView
Privato xui As XUI
RP privato come RuntimePermissions
   
Pulsante privato1 come pulsante
Pulsante privato2 come pulsante
End Sub

Inizializzazione secondario pubblica
   
End Sub

'Questo evento verrà chiamato una volta, prima che la pagina diventi visibile.
Private Sub B4XPage_Created (Root1 As B4XView)
    Root = Root1
    Root.LoadLayout("MainPage")
       
       
       
Attendi (Check_Permissions) Completo (risultato come booleano)
Se risultato allora
        'Il programma continua
altro
        'Il programma si chiude o avverte l'utente
Termina se

   
    If File.Exists(File.DirRootExternal,("Block")) Then

Xui. MsgboxAsync("cartella esise","B4X")
   
altro
File.MakeDir(File.DirRootExternal,("Blocco"))

Xui. MsgboxAsync("creata cartella","b4x")
       
Termina se
   
End Sub

Private Sub Button1_Click
Xui. MsgboxAsync("Hello world!", "B4X")
   
   
End Sub

Sotto Check_Permissions come ResumableSub
Per ogni autorizzazione Come stringa in matrice(rp. PERMISSION_WRITE_EXTERNAL_STORAGE) La commissione per l'PERMISSION_WRITE_EXTERNAL_STORAGE
       
Rp. CheckAndRequest(autorizzazione)
Attendi Activity_PermissionResult (autorizzazione Come stringa, Risultato come booleano)
        If Result = False Then Return False
prossimo
Ritorno vero
End Sub

Sito Button2_Click
    Dim tw As TextWriter
    Dim FileName  As String = "Block/Prova.txt"

'tw. Initialize2(File.OpenOutput(File.DirRootExternal,FileName,False),"UTF8")
Tw. Initialize2(File.OpenOutput(File.DirRootExternal,FileName,False),"UTF8")
Tw. Scrivi("ciao")
   
Tw.
 

Sagenut

Expert
Licensed User
Longtime User
Se è una applicazione ad uso privato, nel senso che non la devi pubblicare sul Google Play Store, imposta il target SDK nel manifest a 29 e aggiungi questo al Manifest:
B4X:
SetApplicationAttribute(android:requestLegacyExternalStorage, true)
Per pubblicare sul Play Store tra poco sarà necessario settare il Target a 30 e questa modifica non funzionerà più.
La soluzione per accedere sarà questa
https://www.b4x.com/android/forum/threads/saveas-let-the-user-select-a-target-folder.129897/#content
 
Last edited:

Star-Dust

Expert
Licensed User
Longtime User
Si infatti non si tratta solo di permessi.. in ogni caso....hai tradotto in italiano il codice?
 

Sagenut

Expert
Licensed User
Longtime User
E allora, se possibile, allega il progetto così qualcuno può darci un'occhiata.
 
Top