B4A
java.io.FileNotFoundException: open failed: EACCES (Permission denied) on external storage. – B4X EACCES
Su Android 10+ (API 29+) e Android 11+ (API 30+), l'accesso diretto ai percorsi di archiviazione condivisi tramite File.DirRootExternal fallisce con EACCES a causa delle restrizioni di Scoped Storage; è necessario utilizzare ContentChooser, FileProvider o ProviderFolder.
Cosa significa questo errore?
Su Android 10+ (API 29+) e Android 11+ (API 30+), l'accesso diretto ai percorsi di archiviazione condivisi tramite File.DirRootExternal fallisce con EACCES a causa delle restrizioni di Scoped Storage; è necessario utilizzare ContentChooser, FileProvider o ProviderFolder.
Messaggio originale
java.io.FileNotFoundException: open failed: EACCES (Permission denied) on external storage.Contesto e parole chiave
Alias
- B4A Scoped Storage error
- EACCES
Messaggi alternativi
- permesso negato accesso file memoria esterna Scoped Storage
Prodotti
- B4X Development Suite (B4A, B4i, B4J, B4R, B4XPages, XUI)
Piattaforme
- Android
- Embedded Microcontrollers
- iOS
- Linux
- macOS
- Windows 10
- Windows 11
Parole chiave
- B4A
- b4x
- b4x.b4a.scoped-storage-permission-denied
- basic4android
- EACCES
- errore-b4a-scoped-storage-permission-denied
Cause possibili
Origine del problema per B4A: errore EACCES — accesso negato alla memoria esterna (Scoped Storage)
Su Android 10+ (API 29+) e Android 11+ (API 30+), l'accesso diretto ai percorsi di archiviazione condivisi tramite File.DirRootExternal fallisce con EACCES a causa delle restrizioni di Scoped Storage; è necessario utilizzare ContentChooser, FileProvider o ProviderFolder.
molto comuneDiagnosi
Ispezione log e stack trace per B4A: errore EACCES — accesso negato alla memoria esterna (Scoped Storage)
Esaminare la finestra Logs dell'IDE B4X (con flag 'Filter' disattivato per vedere tutti i messaggi di sistema) e verificare il manifest editor o le proprietà del compilatore.
Come leggere il risultato. Evidenzia la linea di codice esatta o la configurazione dell'ambiente che innesca l'eccezione a runtime o l'errore di compilazione.
Risoluzione
Risoluzione per B4A: errore EACCES — accesso negato alla memoria esterna (Scoped Storage)
Applicare la procedura corretta secondo le best practice documentate nei tutorial ufficiali della community Anywhere Software.
- Verificare le dichiarazioni nel Manifest Editor o nel file Info.plist
- Aggiornare le librerie esterne e i jar nella cartella Additional Libraries all'ultima versione
- Eseguire una compilazione pulita del progetto
Domande frequenti
Come risolvere il problema EACCES in ambiente B4X?
Su Android 10+ (API 29+) e Android 11+ (API 30+), l'accesso diretto ai percorsi di archiviazione condivisi tramite File.DirRootExternal fallisce con EACCES a causa delle restrizioni di Scoped Storage; è necessario utilizzare ContentChooser, FileProvider o ProviderFolder.
Approfondimenti
- Anywhere Software - B4X Official Documentation & Community Tutorials documentazione_ufficiale