覆盖android webview中的链接

覆盖android webview中的链接,android,Android,我在这个话题上找不到任何暗示。我编写了一个简单的应用程序,将我的网站加载到网络视图。该网站包含许多链接,其中一些是外部链接。网络视图在浏览方面很好。但我希望能够控制这些链接的功能。例如,使用webView中的特定链接播放音乐文件。我没有代码,因为我没有什么可以尝试的。我有我的应用程序和网络视图的代码,但我不明白为什么这是相关的 将Webview客户端设置为您的Webview,您可以使用URL获取shouldOverrideUrlLoading()方法上单击的每个链接 YourWebView.se

我在这个话题上找不到任何暗示。我编写了一个简单的应用程序,将我的网站加载到网络视图。该网站包含许多链接,其中一些是外部链接。网络视图在浏览方面很好。但我希望能够控制这些链接的功能。例如,使用webView中的特定链接播放音乐文件。我没有代码,因为我没有什么可以尝试的。我有我的应用程序和网络视图的代码,但我不明白为什么这是相关的

将Webview客户端设置为您的Webview,您可以使用URL获取
shouldOverrideUrlLoading()
方法上单击的每个链接

YourWebView.setWebViewClient(new WebClientClass());
这是你的网络课堂

public class WebClientClass extends WebViewClient {

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);

        }

        @Override
        public boolean shouldOverrideUrlLoading(final WebView view, final String url) {
            // You have clicked link url here, do what you want here
            return true;
        }

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

        }

    }

添加到@Divyang答案

shouldOverrideUrlLoading(WebView视图,字符串url)
Android N
中不推荐使用,因此请使用以下两种方法

 @SuppressWarnings("deprecation")
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    final Uri uri = Uri.parse(url);
    return true;
}

@TargetApi(Build.VERSION_CODES.N)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
    final Uri uri = request.getUrl();
    return true;
}