Android - 应用更新后 WebView html5 本地存储不持久

Posted

技术标签:

【中文标题】Android - 应用更新后 WebView html5 本地存储不持久【英文标题】:Android - WebView html5 local storage not persistant after app update 【发布时间】:2014-02-28 21:09:14 【问题描述】:

我有一个使用 html5 本地存储的应用程序。在应用程序打开或关闭时,本地存储中的数据在整个应用程序中都是持久的。但是,当应用程序从商店更新时,本地存储被删除。有没有办法防止在应用更新期间丢失本地存储?谢谢!

mWebView = (WebView) findViewById(R.id.mWebView);
WebSettings mWebSettings = mWebView.getSettings();
mWebSettings.setAllowFileAccess(true);        
mWebSettings.setDatabaseEnabled(true);
mWebSettings.setDatabasePath("/data/data/"+this.getPackageName()+"/databases/");
mWebSettings.setDomStorageEnabled(true);
mWebSettings.setjavascriptEnabled(true);

【问题讨论】:

这是由@steffmeister 创建的bug report。 (最初作为答案发布) 【参考方案1】:

这个贴here有答案

博伊福克斯先生给出的答案是

webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setDatabaseEnabled(true);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) 
    webView.getSettings().setDatabasePath("/data/data/" + webView.getContext().getPackageName() + "/databases/");

【讨论】:

以上是关于Android - 应用更新后 WebView html5 本地存储不持久的主要内容,如果未能解决你的问题,请参考以下文章

上次更新Android System Webview后,代理设置停止工作

Android WebView 因最新的 Chrome 81.x 更新而崩溃,特别是在 Android 9.x 上

最新 iOS 更新 (12.2) 后,本地存储中的视频未在 WebView (Xamarin.Forms) 中播放

在webview中单击按钮后,如何在android应用程序中从webview打开外部应用程序?

android 高版本允许系统应用调用webview

求教,基于webview的android应用开发。