2015-05-07 17 views
7

我想知道哪些是在android webview上啓用appcache的正確設置。我發現很多關於這方面的討論,但沒有一個能夠奏效。適用於Android WebView的AppCache正確設置

考慮到應用程序緩存設置正確(它適用於Chrome),我的web視圖設置錯誤有以下幾種:

mWebView = (WebView) findViewById(R.id.activity_main_webview); 
WebSettings webSettings = mWebView.getSettings(); 
webSettings.setJavaScriptEnabled(true); 
webSettings.setDatabaseEnabled(true); 
webSettings.setDomStorageEnabled(true); 
webSettings.setAllowFileAccess(true); 
webSettings.setAppCachePath("/data/data/"+ getPackageName() +"/cache"); 
webSettings.setCacheMode(WebSettings.LOAD_DEFAULT); 
webSettings.setAppCacheEnabled(true); 
webSettings.setSupportMultipleWindows(true); 
mWebView.setVerticalScrollBarEnabled(false); 
mWebView.loadUrl("http://www.myapp.com"); 

爲什麼它不工作,你知道嗎?

+1

能否請您描述一下不管用?你在期待什麼,發生了什麼? –

+1

我期望的是:我的應用程序可以離線工作。我得到的結果是:該應用無法離線工作,但它在移動瀏覽器上正確運行。 – BillyBelly

回答

16

發現解決方案:

應用程序緩存路徑設置不正確。現在我使用的follownig代碼來定義路徑:

String appCachePath = activity.getCacheDir().getAbsolutePath(); 
webSettings.setAppCachePath(appCachePath); 

,而不是舊版本:

webSettings.setAppCachePath("/data/data/"+ getPackageName() +"/cache"); 

希望將是有益的其他開發人員:)

+0

這對我很有用,非常感謝你,它派上用場了 – Kyle

相關問題