2013-07-21 54 views
0

嘿傢伙我需要幫助我的webview應用程序 我有一個web視圖,打開一個url,我重寫它,以便它只在我的應用程序中打開,而不是在webbrowser上,但是我遇到的問題是我想在我的android webbrowser從youtube.com打開網址。我嘗試這樣做,但沒有任何幫助。 我只想讓youtube鏈接在webbrowser中運行,但其他鏈接應該在我的應用程序內部運行。現在它打開m應用程序中的所有鏈接 如何在瀏覽器中打開youtube鏈接?Android Webview從overrid方法中排除url

@Override 
public boolean shouldOverrideUrlLoading(WebView v, String url) { 
    if (url.startsWith("www.youtube.com/")) { 
     // magic 
     return false; 
    } else { 
     v.loadUrl(url); 
     return true; 
    } 
} 
+0

什麼是不正常? –

+0

我想在Android默認webbrowser中打開來自YouTube的鏈接,而不是在我的應用程序中,並且鏈接在網上不在應用程序中,如果鏈接在應用程序中提供,我可以通過意圖打開它們 – Beri

回答

0

這是一種適合我的工作:

@Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url){   
     if ((url.contains("vid:") || url.contains("http://youtube.com")) == true){ 
     // Load new URL Don't override URL Link 
     view.getContext().startActivity(
     new Intent(Intent.ACTION_VIEW, Uri.parse(url))); 

     return true; 
     } 
     // Return true to override url loading (In this case do nothing). 
     return false; 
    } 

所以你的情況,這可能是:

@Override 
    public boolean shouldOverrideUrlLoading(WebView v, String url) { 
    if ((url.contains("vid:") || url.contains("http://youtube.com")) == true) { 
     // Load new URL Don't override URL Link 
    view.getContext().startActivity(
    new Intent(Intent.ACTION_VIEW, Uri.parse(url)));  
    return false; 
    } else { 
     v.loadUrl(url); 
     return true; 
    } 
    }