Sto lavorando a un progetto Worklight che scarica un file zip, lo decomprime e memorizza i file nella directory dei documenti specifici della piattaforma (in iOS NSDocumentDirectory
, su Android sto usando getFilesDir()
). Il file è composto da un file HTML e diverse immagini, situate in una sottodirectory (media). Il download e la decompressione funzionano bene su entrambe le piattaforme. Dopo il processo di decompressione sto caricando il contenuto del file HTML in un div esistente (poiché si tratta di un'app Worklight, tutto è contenuto in un file HTML).Errore Chromium sconosciuto -6 durante il caricamento di immagini locali in Web View Android
Qui le cose si complicano: Le origini dei tag immagine nel file HTML che ho scaricato sono relative al file HTML (ad esempio "media/myimage.jpg"). Quando inserisco il file HTML nel file HTML Worklight (che si trova nel pacchetto/pacchetto di app), l'URL di base cambia e le immagini non possono essere trovate da nessuna parte. Ho risolto questo problema scrivendo le funzioni native che riscrivono tutti i tag immagine nel file HTML scaricato per puntare a un URL assoluto (iOS: /var/mobile/Applications/<identifier>/Documents/
, Android: /data/data/<id>/files/
). Funziona bene su iOS, ma su Android fa in modo che l'HTML si carichi solo parzialmente. LogCat mostra poi:
Unknown chromium error: -6
Se continuo i file così come sono, i carichi HTML in modo corretto, ma ovviamente con le immagini spezzate. Ho anche provato a cambiare gli URL a file:///data/data/<id>/files/ [...]
, il che causa anche il caricamento dell'HTML. Non ho davvero idea di cosa stia causando questo problema. L'app ha già l'autorizzazione WRITE_EXTERNAL_STORAGE
.
Qualcuno ha un'idea di come risolvere il problema? Grazie!
Dai un'occhiata alla [Android/dati/data/mypackage/img] [1] [1]: http://stackoverflow.com/questions/7408838/android-data-data-mypackage -img –
@ René, hai risolto questo? –
Questo errore è stato causato dall'avere immagini con larghezza superiore a 1500 px. Dopo aver ridimensionato, l'errore scompare. Deve essere un problema con la webview di Android, immagino. –