...
Wait For (MediaFromContentChooser) Complete (FileName As String)
If FileName <> Null Then
    Log("FileName: " & FileName)
Else
    Log("Errore: nessun file selezionato.")
End If
...
' Subroutine che permette di selezionare un file PDF tramite ContentChooser e restituisce il nome del file
Private Sub MediaFromContentChooser As ResumableSub
    #if b4a ' Questo blocco viene compilato solo per B4A (Android)
    
    ' Dichiarazione e inizializzazione di ContentChooser, usato per selezionare un file sul dispositivo
    Dim cc As ContentChooser
    cc.Initialize("cc") ' Inizializza il ContentChooser con l'evento "cc"
    
    ' Apre il selettore di file per scegliere un documento di tipo PDF
    cc.Show("application/pdf", "Select the document PDF")
    
    ' Attende il risultato del ContentChooser (se l'utente ha selezionato un file o meno)
    Wait For cc_Result (Success As Boolean, Dir As String, FileName As String)
    
    ' Verifica se l'utente ha selezionato un file con successo
    If Success Then
        
        ' Controlla se esiste già un file con lo stesso nome nella directory di destinazione
        If File.Exists(xui.DefaultFolder, FileName) Then 
            File.Delete(xui.DefaultFolder, FileName) ' Elimina il file esistente per evitare conflitti
        End If
        
        ' Copia il file selezionato nella directory di destinazione in modo asincrono
        Wait For (File.CopyAsync(Dir, FileName, xui.DefaultFolder, FileName)) Complete (CopySuccess As Boolean)
        
        ' Verifica se la copia è stata completata con successo
        If CopySuccess Then
            Return FileName ' Restituisce il nome del file copiato
        End If
    End If
    
    #End If ' Fine del blocco specifico per B4A
    
    ' Restituisce Null se qualcosa è andato storto o se l'utente non ha selezionato un file
    Return Null
End Sub