簡體   English   中英

下載Web內容並在運行時加載Android webview

[英]Download web content and load on Android webview at runtime

我想在webview上加載本地 Web內容。 我正在下載一個zip文件,解壓縮並保存內部存儲( /data/data/<app>/files/ )上的文件(main.html和資源文件 - css,js,fonts,pngs等)。

所有文件都在同一目錄中:

| - main.html
| - file.js
| - ......

因此,html文件指向資源文件,如下所示:
<script type="text/javascript" src="file.js"></script>

我雖然這會奏效

String path = context.getFilesDir() + File.separator + "main.html";
webview.loadUrl("file://" + path)

但是webview在棒棒糖前設備中顯示file not found錯誤,並且在棒棒糖設備中顯示:

“無法加載file:///data/data/<app>/files/main.html的網頁,因為:net :: ERR_ACCESS_DENIED”

如果我通過運行將html加載為字符串

String file = htmlFile.fileToString();
webview.loadDataWithBaseURL("", file, "text/html", "utf-8", "");

它工作,但我必須通過提供所有資源文件的完整路徑來解決依賴關系。 必須有更好的方法來解決這個問題。

有誰知道如何在Android中運行時存儲的webview上加載本地文件?

謝謝

我忘記了webview的配置方法。

webview.getSettings().setAllowFileAccess(false)

這是問題所在。 通過轉到true ,webview可以加載本地文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM