gpt4 book ai didi

java - Android WebView 获取本地存储值

转载 作者:行者123 更新时间:2023-12-05 07:23:28 38 4
gpt4 key购买 nike

我使用 Android WebView 加载 URL,Web 应用程序使用缓存并将值存储在浏览器 Application -> local Storage -> www.123xyz.com -> Scoring

每当 web 应用程序中发生 Activity 时,它都会存储在本地存储中,它工作正常。

现在我想检索本地存储值并将其存储在 android 的 SQLite 数据库中。如果 Web 应用程序无法正确执行,那么我想从 SQLite 数据库中检索值并将其设置在本地存储的评分键中

    mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.getSettings().setDatabaseEnabled(true);
Log.e("Database",getFilesDir().getParentFile().getPath()+"/databases/");
mWebView.getSettings().setDatabasePath(getFilesDir().getParentFile().getPath()+"/databases/");
mWebView.getSettings().setAppCacheMaxSize(1024*1024*8);
Log.e("Cache",getApplicationContext().getCacheDir()+"/scoring");
mWebView.getSettings().setAppCachePath( getApplicationContext().getCacheDir()+"/scoring");
mWebView.getSettings().setAllowFileAccess(true);
mWebView.getSettings().setAppCacheEnabled(true);
mWebView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);

String url= getResources().getString(R.string.scoringurl);
mWebView.loadUrl(url);

更新:

现在我可以通过以下代码访问本地存储并检索值。现在我想每 30 秒或本地存储发生变化时获取此值。

有什么办法吗?我想这必须通过计时器来完成并且不会使应用程序变慢,任何人都可以帮助我。

    mWebView.setWebViewClient(new WebViewClient(){
@Override
public void onPageFinished(WebView view, String url) {
view.evaluateJavascript("javascript:window.localStorage.getItem('scoring')", new ValueCallback<String>() {
@Override public void onReceiveValue(String s) {
Log.e("OnRecieve",s);
}
});
super.onPageFinished(view, url);
}
});

最佳答案

在 ConsoleMessage 的 Override 方法上调用它,控制台中的每个更改都会调用此方法

    @Override
public void onConsoleMessage(String message, int lineNumber, String sourceID) {
view.evaluateJavascript("javascript:window.localStorage.getItem('scoring')", new ValueCallback<String>() {
@Override
public void onReceiveValue(String s) {
Log.e("OnRecieve",s);
}
});
super.super.onConsoleMessage(message, lineNumber, sourceID);
}

关于java - Android WebView 获取本地存储值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56021733/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com