2013-08-06 60 views
2

我必須在WebView中顯示一些HTML內容,它具有通過因特網的URL和來自本地電話緩存的圖像的圖像。在IMG的src標籤有類似以下值:WebView顯示來自本地緩存的圖像

文件:///data/data/com.Domain.MyApp/cache/example.jpg

但渲染網頁視圖沒有圖像。我確信路徑是正確的,並且該文件存在。可能是什麼問題,我該如何解決它?

回答

3

設置src屬性img標籤,如在這個例子:

/data/data/com.Domain.MyApp/cache/example.jpg 

將HTML內容作爲HTML文件保存到圖像所在的文件夾中(當前問題中的緩存目錄)。

最後加載HTML文件是這樣的:

mDescriptionWeb.loadUrl("file://" + this.getCacheDir() + "/" + "current.html"); 
1

我覺得cache目錄是不是一個真正安全的地方來存儲的東西。你是否已經考慮過使用getExternalStorageDirectory()的選項?

我的應用程序從互聯網上下載上下文幫助,將所有文件保存在getExternalStorageDirectory() + "/help"中,並從WebView中打開,沒有任何問題。

看:

http://developer.android.com/reference/android/os/Environment.html#getExternalStorageDirectory%28%29

試試看......

另一種選擇是使用的資產,看看 http://developer.android.com/reference/android/content/res/AssetManager.html

+0

在什麼方面,它會更安全?如果您正在考慮緩存目錄可以被系統自動清理,那麼在我的應用程序中這不會有問題。 – yslr

+0

你想直接打開圖片,或只是一個帶有的.html文件? –

+0

我傳遞一個包含html代碼的字符串標籤 – yslr