我正在开发一个必须访问默认浏览器本地存储的 android 应用程序。场景是:
- 打开安卓默认浏览器
- 加载一个页面(我开发的),将一些数据保存在浏览器的本地存储中
- 关闭浏览器
- 打开我的应用程序
- 应用程序读取保存在浏览器本地存储中的数据并将其显示给用户
有没有办法访问浏览器的本地存储?另外,如果可能的话,如何访问设备上其他已安装浏览器的本地存储?
谢谢!
我正在开发一个必须访问默认浏览器本地存储的 android 应用程序。场景是:
有没有办法访问浏览器的本地存储?另外,如果可能的话,如何访问设备上其他已安装浏览器的本地存储?
谢谢!
似乎没有办法实现这一点。我曾尝试使用内容提供商访问浏览器的数据,但您只能访问书签和历史记录。
我还使用 WebView 而不是浏览器进行了一些测试。我尝试了两种方法:
您可以像普通 SQLite 数据库一样访问本地存储数据库。数据存储在具有两列的单个表中 - 键和值。根据javascript文档写入本地存储是同步操作。这很棒!问题在于将数据从浏览器(webview)持久化到文件系统是异步的。因此,如果您将某些内容写入本地存储,它将存储在内存中,因此可以通过 javascript API 访问它,但它仍然不会持久化到 SQLite 数据库。
这是我个人的推荐!您已经创建了一个 Android javascript 界面并将其添加到 webview。通过这种方式,您可以向 javascript 提供 API 以访问您的代码。要特别小心!这可能是一个严重的安全问题!仔细检查您的代码!之后,您可以像这样调用您的javascript方法webview.loadUrl("javascript://...")
我使用 SharedPreferences Plugin 来访问本机存储,而不是访问 Phonegap 内的浏览器本地存储。这可能对某些人有用。 Github 代码