如何访问webview内容?

时间:2013-05-31 08:36:10

标签: android json webview

如何在Android上访问webview内容?我看过这篇文章:answer1 但它建议使用嵌入式javascript导致我@SuppressLint("JavascriptInterface") 警告所以我决定不使用这种方法。我可以通过WebViewClient()访问身体的内容吗?我也通过Json获取内容,但我无法访问任何实体来阅读它。

.setWebViewClient(new WebViewClient(){

            @Override
            public void onPageFinished(WebView view, String url) {

            }

            @Override
            public void onLoadResource(WebView view, String url) {
                if(url.equalsIgnoreCase(the_url)){                  
                    //here get the content
                }
                super.onLoadResource(view, url);
            }
        });

我想要实现与

类似的东西
final HttpEntity httpEntity = httpResponse.getEntity();
            is = httpEntity.getContent(); 

或只是简单地阅读<body>...</body>

之间的整个字符串

解释:我想在我的网站上登录用户,出于安全原因,我需要使用公式加载url,当用户作为响应时,我得到两个Json带有一些安全令牌并且它被回应所以它看起来像这样:<body>{"token":"abcd"}</body>但是我需要那个令牌,我需要在每个设备上使用它,所以我必须找到一种方法如何从JSON或网页中读取它。请帮助我。

感谢

1 个答案:

答案 0 :(得分:2)

  

如何在Android上访问webview内容?

使用答案中概述的技术,使用addJavascriptInterface()注册回调,然后使用loadUrl()执行javascript: URL,检索您想要的DOM部分并通过这是你回调的一些方法。

  

它建议使用嵌入式javascript导致我@SuppressLint(“JavascriptInterface”)警告

正确,因为如果您正在加载任意内容,那么该内容可能会在您不期望的时候尝试调用您的回调。

  

所以我决定不使用这种方法

然后你无法“访问webview内容”。

  

我可以通过WebViewClient()无论如何访问正文的内容吗?

没有