2011-11-26 52 views
4

我已經在SD卡的根下載了map750.png文件,但是當我試圖用一些文本在webview中顯示它時,只顯示文本。你能幫我找出代碼中的錯誤嗎?謝謝。顯示來自SD卡的圖像與webview不工作

setContentView(R.layout.webview); 
    mWebView = (WebView) findViewById(R.id.webview); 
    mWebView.getSettings().setAllowFileAccess(true); 
    mWebView.getSettings().setJavaScriptEnabled(true); 
    mWebView.getSettings().setBuiltInZoomControls(true); 
    String html = "<html><head></head><body><p>hello</p><img src=\"file://mnt/sdcard/map750.png\" alt=\"alternativo\" /></body></html>"; 
    mWebView.loadData(html, "text/html","utf-8"); 

我編輯帖子以添加oneilse14建議的解決方案,謝謝!

setContentView(R.layout.webview); 
    mWebView = (WebView) findViewById(R.id.webview); 
    mWebView.getSettings().setAllowFileAccess(true); 
    mWebView.getSettings().setJavaScriptEnabled(true); 
    mWebView.getSettings().setBuiltInZoomControls(true); 
    String html = "<html><head></head><body><p>hello</p><img src=\"file://mnt/sdcard/map750.png\" alt=\"alternativo\" /></body></html>"; 
    mWebView.loadDataWithBaseURL("", html, "text/html", "utf-8", ""); 
+0

檢查我的答案肯定會工作。 –

+0

如何從SD卡加載SVG圖像? –

回答

5

試試這個,

 final String fileName = "file:///mnt/sdcard/1.jpg"; 
     final String mimeType = "text/html"; 
     final String encoding = "utf-8"; 
     final String html = "<img src=\""+fileName+"\">"; 
     webView.loadDataWithBaseURL("", html, mimeType, encoding, ""); 
+3

這對我有用............. –

+0

如何從SD卡加載SVG圖像? –

0

注意,使用的文件的訪問://模式會由於安全限制。

另一種方法是使用處理本地文件訪問的ContentProvider的URI。在此方法的ContentProvider的子類中覆蓋openFile(Uri,String)。

相關問題