私は、zipファイルをダウンロードして解凍し、プラットフォームの特定のドキュメントディレクトリに保存するWorklightプロジェクトに取り組んでいます(iOSではNSDocumentDirectory
、 AndroidではgetFilesDir()
を使用しています)。このファイルは、1つのHTMLファイルと複数の画像で構成され、サブディレクトリ(メディア)に配置されています。ダウンロードと解凍は両方のプラットフォームで正常に動作します。解凍プロセスの後、私は既存のdivにHTMLファイルの内容をロードします(これはWorklightアプリケーションなので、すべてが1つのHTMLファイルにあります)。Android Webviewでローカル画像を読み込んだときにChromiumエラー-6が発生しました
ここでは状況が複雑になります: ダウンロードしたHTMLファイル内の画像タグソースは、HTMLファイルを基準にしています(例: 'media/myimage.jpg')。 HTMLファイルをWorklight HTMLファイル(アプリケーションバンドル/パッケージにあります)に挿入すると、ベースURLが変更され、画像はどこにも見つかりません。私は、絶対URL(iOS:/var/mobile/Applications/<identifier>/Documents/
、Android:/data/data/<id>/files/
)を指すように、ダウンロードしたHTMLファイルのすべてのイメージタグを書き換えるネイティブ関数を作成することでこれを修正しました。これはiOSでうまくいきますが、Androidでは部分的にしか読み込まれません。 LogCatはその後を示しています。
Unknown chromium error: -6
彼らがそうであるように、私は正しく、HTMLの負荷をファイルを保存する場合は、しかし、明らかに壊れたイメージを持ちます。また、URLをfile:///data/data/<id>/files/ [...]
に変更しようとしましたが、HTMLも完全に読み込まれません。私は本当にこの問題を引き起こしているのか分かりません。アプリには既にWRITE_EXTERNAL_STORAGE
の権限があります。
これを修正する方法を知っている人はいますか?ありがとうございました!
[アンドロイド/データ/データ/ mypackageと/ IMG] [1] を見てください[1]:http://stackoverflow.com/questions/7408838/android-data-data-mypackage -img –
@René、これを解決しましたか? –
このエラーは、画像の幅が1500pxよりも大きいことが原因であることが判明しました。スケールダウン後、エラーは消えます。 Android webviewの問題である必要があります。 –