2017-02-10 65 views
1

我無法找到關於此主題的任何提示。我寫了一個簡單的應用程序來加載我的網站到一個webView。該網站包含許多鏈接,其中一些鏈接是外部鏈接。瀏覽條款的webView很好。但我希望能夠控制這些鏈接的功能。例如,使用webView內的特定鏈接播放音樂文件。我沒有代碼,因爲我沒有什麼可嘗試的。我有我的應用程序和webView的代碼,但我不明白爲什麼這是相關的。覆蓋android webview中的鏈接

回答

2

集網頁視圖客戶端的網頁視圖,你可以得到的每個點擊鏈接shouldOverrideUrlLoading()方法與URL

YourWebView.setWebViewClient(new WebClientClass()); 

這是你的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) { 

     } 

    } 
1

增加@Divyang答案

shouldOverrideUrlLoading(WebView view,String 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; 
}