1

WebViewsloadWithBaseURLのパスを正しく設定するにはどうすればよいのでしょうか。

私がやりたいのは、外部ストレージに保存されているリソースを使用するhtmlをWebビューにロードすることです。

例えば:

<html>
<head>
<style>body{ background-image:url(beach.jpg); }</style> 
</head>
<body> 
<img src="football.jpg" />
</body>
</html>

Beach.jpgとball.jpgは、電話の外部ストレージの「ルート」ディレクトリに直接保存されます(/sdcard/beach.jpgと/sdcard/ball.jpg)

そこで、次のようにコンテンツを読み込もうとしました。

String html = "<html> ... example from above ... </html>";
String base = Environment.getExternalStorageDirectory().getAbsolutePath().toString();
webView.loadDataWithBaseURL("file://" + base, html, "text/html", "utf-8", null);

ただし、Webビューに画像が表示されないため、パスが間違っているようです。助言がありますか?

4

2 に答える 2

2

WebView でファイル アクセスを有効にしましたか?

webView.getSettings().setAllowFileAccess(true);

さらに、HTML を自分で構築している場合は、画像のフル パスを使用することを検討してください。

String html = "<html>... <img src=\"file://"+base+"/football.jpg\" />";
于 2013-02-07T18:15:35.373 に答える
0

インターネットの許可を与えていますか?

<uses-permission android:name="android.permission.INTERNET" /> 

これらも役立つかもしれません..

于 2013-02-07T18:04:58.350 に答える