0

如何在我的 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 或网页中读取它。请帮帮我。

谢谢

4

1 回答 1

2

如何在我的 Android 上访问 webview 内容?

使用答案中概述的技术,使用addJavascriptInterface()注册回调,然后使用loadUrl()执行一个javascript:URL,该 URL 检索您想要的 DOM 部分并将其传递给回调中的某个方法。

它建议使用嵌入式javascript,这会导致我出现@SuppressLint("JavascriptInterface") 警告

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

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

然后你不能“访问 webview 内容”。

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

不。

于 2013-05-31T11:33:56.497 回答