从Android Webview托管的网站中获取用户登录的详细信息

时间:2019-02-28 09:28:29

标签: android session authentication login webview

我为我的网站创建了一个Webview android应用程序,以便拥有我的网站的android版本。该网站允许用户登录,然后再访问网站信息。

请问,如何在Webview android应用中从网站获取用户登录的详细信息(例如电子邮件)?

1 个答案:

答案 0 :(得分:0)

您可以使用此功能获取WebView的内容:

yourWebView.evaluateJavascript(
        "(function() { return ('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>'); })();",
         new ValueCallback<String>() {
            @Override
            public void onReceiveValue(String html) {
                Log.d("HTML", html); 
                // Here you work with the content of the page which is stored in the 'html' variable
            }
    });

由于您能够读取页面的内容,因此可以在网站的隐藏字段(例如<input type="hidden" id="emailAddress" name="emailAddress" value="someone@example.org">)中隐藏要阅读的数据。

或者您可以创建自己的Activity,用户可以在其中插入他的电子邮件地址,然后可以使用WebView.postUrl(String url, byte[] postData)功能(例如webView.postUrl("https://yourWebsite.com/index.php", "emailAddress=someone@example.org".getBytes());在网站上张贴插入的电子邮件地址)。

来源: https://developer.android.com/reference/android/webkit/WebView.html how to get html content from a webview? How to post data for WebView android