相关疑难解决方法(0)

如何从android的webview中获取javascript的返回值?

我想从Android中的Javascript获取返回值.我可以用iPhone做到这一点,但我不能用Android.我使用了loadUrl,但它返回的是void而不是object.有谁能够帮我?谢谢.

android return

72
推荐指数
6
解决办法
8万
查看次数

将数据从Javascript传递到Android WebView

我编写了一段Java代码,旨在通过android WebView网关从Javascript调用Java代码.

webView = (WebView) findViewById(R.id.captchaView);
WebSettings ws = webView.getSettings();
ws.setJavaScriptEnabled(true);
webView.loadUrl("https://google.com/");

webView.setWebViewClient(BrowserHandler);
webView.addJavascriptInterface(new IJavascriptHandler(), "cpjs");

WebViewClient BrowserHandler = new WebViewClient() {
   @Override
   public void onPageFinished(WebView view, String url) {
      view.loadUrl("javascript:window.cpjs.onPageLoaded(document.body.innerHTML);void(0);");
   }
};

final class IJavascriptHandler {
   IJavascriptHandler() {
   }

   public void onPageLoaded(String html) {
      // this is called from JS
      Toast t = Toast.makeText(getApplicationContext(), "Yes", 2000);
      t.show();
   }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码检查网页加载,一旦页面加载完成,它将调用从Java公开的javascript函数,以便它可以从页面中携带我需要的东西.

这没有按预期工作它只是每隔几秒刷新页面.我不确定这里有什么问题?

javascript java android webview

5
推荐指数
1
解决办法
9077
查看次数

从Android中的浏览器外部访问Web Storage或IndexedDB

我想使用HTML和javascript构建一个基于脱机浏览器的应用程序,以在Android平板电脑上收集调查数据。该应用程序将包含一些静态页面,这些页面具有供用户输入数据的表单,然后可以使用Web Storage或IndexedDB将其存储在本地。但是,我也想构建一个小的本机Android应用程序,它将获取这些数据并将其传输到其他设备。这有可能吗,如果可以的话,我将如何处理呢?

具体来说,我想了解本机应用程序是否以及如何访问浏览器的数据存储(我可以管理其余部分)。我更喜欢使用Android浏览器,但是可以使用其他任何浏览器,如果这样可以简化操作。我发现这篇博客文章暗示可能,但我希望您能得到一些有关Android浏览器存储数据的位置以及其他应用程序可以多么轻松地访问数据的指示。

java android web-storage android-browser indexeddb

5
推荐指数
1
解决办法
2910
查看次数