缺少以下内容:
settings.setDomStorageEnabled(true);
在API级别19中不推荐使用setDatabasePath()方法.我建议您使用这样的存储区域设置:
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/"); }
重启应用程序后,我也遇到了丢失数据的问题.添加这有助于:
webView.getSettings().setDatabasePath("/data/data/" + webView.getContext().getPackageName() + "/databases/");
适用于我的Android 4.2.2的解决方案,使用构建目标Android 4.4W编译:
WebSettings settings = webView.getSettings(); settings.setDomStorageEnabled(true); settings.setDatabaseEnabled(true); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { File databasePath = getDatabasePath("yourDbName"); settings.setDatabasePath(databasePath.getPath()); }