WebView讀取SD卡上的HTML


 

需要讀取本地SD卡上的HTML文件,經過幾次嘗試發現 網上提供教程中的方法不可行……故將自己的經驗分享給大家;

部分源碼:

 1 public void SetWebView(){
 2         WebView webView = (WebView)findViewById(R.id.report_webview);
 3         webView.getSettings().setAllowFileAccess(true);// 設置允許訪問文件數據
 4         webView.getSettings().setSupportZoom(true);//支持放大網頁功能
 5         webView.getSettings().setBuiltInZoomControls(true);//支持縮小網頁功能
 6         webView.getSettings().setJavaScriptEnabled(true);//支持JAVA
 7 //      webView.loadUrl("content://com.android.htmlfileprovider"+Environment.getExternalStorageDirectory()
 8 //                + File.separator + "database"+ File.separator+"taobao.html");
 9 //      webView.loadUrl("content://com.android.htmlfileprovider/mnt/sdcard/database/taobao.html");
10         webView.loadUrl("file:///mnt/sdcard/database/taobao.html");
11     }

如上所示,第一種方法使用content方法調用本地SD卡HTML文件 會出現路徑錯誤的問題;

webView.loadUrl("content://com.android.htmlfileprovider/mnt/sdcard/database/taobao.html");

隨后我進行了路徑修正,即使用getExternalStorageDirectory()方法來確定路徑;

webView.loadUrl("content://com.android.htmlfileprovider"+Environment.getExternalStorageDirectory()+ File.separator + "database"+ File.separator+"taobao.html");

但是也是以失敗告終,於是給中百度谷歌,發現有人說是由於要讀取的html是私有的存在權限問題,重寫Provider可以解決這個權限問題,但是經過一番嘗試也失敗了……

沒辦法,最后只能祭出大殺器~~~成功了= =

webView.loadUrl("file:///mnt/sdcard/database/taobao.html");

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM