HTML でアセットをロードするには、URL を使用していますfile:///android_asset/my_image.png
。たとえば、WebView.loadData()
メソッドを使用して HTML をローカルにロードしているときに機能します。
ただし、リモート Web サイトからローカル アセットを読み込むことができません。たとえば、WebView.loadUrl("http://example.com/my_page.html")
. ページは表示されますが、画像が読み込まれていません。
この問題を解決するにはどうすればよいですか?
アップデート:
tarkeshwar は、セキュリティ上の理由からそれは不可能であると述べました。ブラウザで Web ページを開くと、ユーザーは Web ページが何にアクセスしているかを制御できないことを理解しています。また、ユーザーの機密データを読み取る可能性がある場合に、ローカル ファイル システムにアクセスする方法も少し異なります。ここでは、アプリケーション アセットにアクセスしたいだけです。
回避策は、ページをダウンロードしてWebView
usingloadData()
メソッドにロードすることです。WebView
ただし、ローカル アセットへのアクセスを許可するためのセキュリティ スイッチがある場合があります。
UPDATE2: Android 2.3 以降をサポートする必要があります。