5

我正在开发一个必须访问默认浏览器本地存储的 android 应用程序。场景是:

  • 打开安卓默认浏览器
  • 加载一个页面(我开发的),将一些数据保存在浏览器的本地存储中
  • 关闭浏览器
  • 打开我的应用程序
  • 应用程序读取保存在浏览器本地存储中的数据并将其显示给用户

有没有办法访问浏览器的本地存储?另外,如果可能的话,如何访问设备上其他已安装浏览器的本地存储?

谢谢!

4

2 回答 2

4

似乎没有办法实现这一点。我曾尝试使用内容提供商访问浏览器的数据,但您只能访问书签和历史记录。

我还使用 WebView 而不是浏览器进行了一些测试。我尝试了两种方法:

  • 访问本地存储数据库

您可以像普通 SQLite 数据库一样访问本地存储数据库。数据存储在具有两列的单个表中 - 键和值。根据javascript文档写入本地存储是同步操作。这很棒!问题在于将数据从浏览器(webview)持久化到文件系统是异步的。因此,如果您将某些内容写入本地存储,它将存储在内存中,因此可以通过 javascript API 访问它,但它仍然不会持久化到 SQLite 数据库。

  • 通过 javascript bridge 访问本地存储

这是我个人的推荐!您已经创建了一个 Android javascript 界面并将其添加到 webview。通过这种方式,您可以向 javascript 提供 API 以访问您的代码。要特别小心!这可能是一个严重的安全问题!仔细检查您的代码!之后,您可以像这样调用您的javascript方法webview.loadUrl("javascript://...")

于 2013-05-09T16:03:59.840 回答
0

我使用 SharedPreferences Plugin 来访问本机存储,而不是访问 Phonegap 内的浏览器本地存储。这可能对某些人有用。 Github 代码

于 2014-07-13T09:50:30.867 回答