拦截WebView中页面呈现的最佳点?

时间:2018-09-16 17:03:36

标签: android http post webview

我正在编写一个使用WebView的应用程序。不幸的是,我们正在加载的页面需要复杂的身份验证,因此我们希望

  1. 拦截登录页面。已处理(因此存储了cookie等)。
  2. 不渲染
  3. 发布正确的用户凭据,而无需用户在webView中键入它们。

我使用WebViewClient并覆盖override fun onPageCommitVisible(view: WebView?, url: String?)来运行它

在内部,我检查URL是否为登录表单,然后对数据进行发布webView.postUrl

可以,但是会短暂显示登录页面。有没有更好的方法来拦截正在渲染的页面,然后再进行load

谢谢 W

1 个答案:

答案 0 :(得分:0)

我认为您可以看看shouldOverrideUrlLoading()回调。

您将能够在显示页面之前捕获URL。

https://developer.android.com/reference/android/webkit/WebViewClient.html#shouldOverrideUrlLoading(android.webkit.WebView,%20android.webkit.WebResourceRequest)