Ho un widget con nove immagini di sfondo. L'immagine è stata salvata in/sdcard/mydir/bgs.Android - Impossibile aprire il contenuto: file: /// memoria/emulato/0
Quando provo a caricare un'immagine con il metodo setImageViewUri, ho questo errore:
Unable to open content: file:///storage/emulated/0/sdcard/mydir/bgs
..
poi
...
open failed: EACCES (Permission denied)
Questo appare solo sulla schermata iniziale e solo con Nexus 10 e Nexus 7 (con l'ultimo launcher 4.4 questo bug no esistere). Ho anche alcune RemoteViews sulla mia applicazione e tutto funziona correttamente.
Ho anche aggiunto in manifest READ_EXTERNAL_STORAGE, o WRITE_EXTERNAL_STORAGE.
Come posso risolvere?
AGGIORNAMENTO: Ho ispezionato il metodo setImageViewUri e ho scoperto che cambia il percorso del mio file.
if (value != null) {
// Resolve any filesystem path before sending remotely
value = value.getCanonicalUri();
if (StrictMode.vmFileUriExposureEnabled()) {
value.checkFileUriExposed("RemoteViews.setUri()");
}
}
Questo metodo ricevere il mio valore (/ sdcard/mydir/BGS) e lo cambia in (stoccaggio/emulato/0/sdcard/mydir/BGS). Ma questo file non esiste nel sistema tramite adb.
Condividi il tuo codice e anche pubblicare il tuo piena potenza logcat. –