Kev*_*vin 20 android webview local-storage
我有一个托管Web视图的原生Android 2.1应用程序.我加载了一个包含使用LocalStorage功能的JavaScript的网站.当应用程序运行时,localStorage工作正常.当某些用户退出应用程序并重新启动它时,所有值都消失了.我没有在我的Motrola Droid或Sprint EVO中看到这个问题,但有一个关于此问题的用户报告.
有谁知道我错过了什么?我将以下标志设置为true.
settings.setDomStorageEnabled(true);
Run Code Online (Sandbox Code Playgroud)
don*_*gcn 17
要使本地存储在Android中适用于您自己的WebView,您需要确保WebView使用正确的文件,并且本地存储启用如下:
String packageName = "com.dongshengcn.android";
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setDatabaseEnabled(true);
settings.setDatabasePath("/data/data/"+packageName+"/databases");
settings.setDomStorageEnabled(true);
Run Code Online (Sandbox Code Playgroud)
其中"com.dongshengcn.android"应该替换为您自己的Android应用程序pacakge名称.
Lis*_*ien 11
只是为了完成以前的回复,这些回复不允许在我的案例中解决问题.
我正在使用Android 4.1.1.我的应用程序在Webview中使用本地存储,我遇到了与原始问题相同的问题:本地存储工作正常,直到我杀死应用程序.在这种情况下,数据丢失了.
通过以前的回应激励我,尤其是@diyism,我能够解决我的问题:
String databasePath = this.getApplicationContext().getDir("databases", Context.MODE_PRIVATE).getPath();
settingsMenu.setDatabasePath(databasePath);
Run Code Online (Sandbox Code Playgroud)
实际上,正如setDatabasePath()文档中所写:to function correctly, this method must be called with a path to which the application can write.
在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/");
}
Run Code Online (Sandbox Code Playgroud)
// Confimed on android 2.1 emulator
// enable javascript localStorage
WebSettings webSettings = myWebView.getSettings();
webSettings.setDomStorageEnabled(true); // localStorage
// eg if your package
// package www.myapp.whatever;
// eg webSettings.setDatabasePath("/data/data/www.myapp.whatever/databases/");
webSettings.setDatabasePath("/data/data/packagename/databases/");
Run Code Online (Sandbox Code Playgroud)
这有效
| 归档时间: |
|
| 查看次数: |
13636 次 |
| 最近记录: |