首页 文章

Android - 在应用程序关闭后使Webview DomStorage持续存在

提问于
浏览
23

我正在开发一个使用Webview来显示数据的Android应用程序 . 我在webview中使用的网站使用HTML 5的localStorage API .

要启用此功能,我已将webview设置设置为:

webview.getSettings().setDomStorageEnabled(true);
webview.getSettings().setJavaScriptEnabled(true);

所以localStorage API工作,但当我关闭应用程序(并终止进程)时,localStorage被完全擦除,当我重新加载它时,我的所有数据都丢失了 .

我的问题很简单:即使关闭应用程序,如何使Web视图的DomStorage持续存在?

谢谢你所有未来的答案 .

5 回答

  • 0

    你设置了DatabasePath吗?如果您没有设置调用,Android默认情况下不知道在哪里保存DOMDatabase

    webview.getSettings().setDatabasePath()
    
  • 0
    // Confimed on android 2.1 emulator
    // enable javascript localStorage
    
    WebSettings webSettings = myWebView.getSettings();
    webSettings.setDomStorageEnabled(true);   // localStorage
    
    // e.g., if your package is www.myapp.whatever;
    webSettings.setDatabasePath("/data/data/www.myapp.whatever/databases/");
    
  • 6

    您必须启用数据库并设置其路径:

    webview.getSettings().setDatabaseEnabled(true);
    webview.getSettings().setDatabasePath();
    webSettings.setDomStorageEnabled(true);
    

    第一线让我流了很长一段时间......

  • 10

    上面的帖子混合了两个不同的概念:

    在会话关闭后使数据保持不变,请确保您没有使用(在您的javascript上)sessionStorage

    DOMStorage和数据库存储是两回事 . 数据库存储不是HTML5的一部分:http://www.tutorialspoint.com/html5/html5_web_sql.htm

    DOMStorage与HTML5更相关,并且包括会话存储,当您关闭浏览器时,会话存储将会消失 . 您可以通过搜索“DOM存储”的“本地存储”找到更多匹配 .

    http://viralpatel.net/blogs/introduction-html5-domstorage-api-example/

    因此,要启用DOMstorage,您只需要:webSettings.setDomStorageEnabled(true);

  • 9

    有关Android v4.1.1的更新,已回答in this post此问题 .

相关问题