什么是在WebView客户端中覆盖URL加载?

时间:2016-10-09 14:22:15

标签: android webview

医生说 -

    /**
     * Give the host application a chance to take over the control when a new
     * url is about to be loaded in the current WebView. If WebViewClient is not
     * provided, by default WebView will ask Activity Manager to choose the
     * proper handler for the url. If WebViewClient is provided, return true
     * means the host application handles the url, while return false means the
     * current WebView handles the url.
     * This method is not called for requests using the POST "method".
     *
     * @param view The WebView that is initiating the callback.
     * @param url The url to be loaded.
     * @return True if the host application wants to leave the current WebView
     *         and handle the url itself, otherwise return false.
     */
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        return false;
    }

WebView处理网址主机应用程序处理网址的区别是什么?

1 个答案:

答案 0 :(得分:1)

您正在编写“主机应用程序”。因此,“处理URL的主机应用程序”是指您作为开发人员决定如何处理URL。

WebView的实现是由其他开发人员编写的。因此,“WebView处理URL”是指那些开发人员决定如何处理URL。

经典地,WebView会通过调用包含该网址的startActivity() ACTION_VIEW上的Intent来处理该网址,以便在独立的网络浏览器中启动该网址。应用开发人员可以使用shouldOverrideUrlLoading()来调用loadUrl()本身上的WebView,以将网址保留在WebView内(因此也可以在应用内)。