2015-01-06 44 views
0

我想將youtube視頻加載到網頁視圖中。視頻的嵌入鏈接是這樣的:Android將網址加載到以雙斜槓開頭的網頁視圖「//」

//www.youtube.com/embed/sLnBwfWvgpU 

如果我沒有做任何額外的東西,只是嘗試加載此,視頻不會在網頁視圖出現。我試圖做到以下幾點:

private class CustomWebViewClient extends WebViewClient { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     String url_string = url; 
     if(url_string.startsWith("//")){ 
      url_string = url_string.substring(2); 
      if(!url_string.contains("http")){ 
       url_string = "http://" + url_string; 
      } 
     } 
     webview.loadUrl(url_string); 
     return true; 
    } 
} 

但是,這也沒有奏效。我在我的webview中擁有除此視頻以外的更多內容,如果我這樣做,則不會加載任何內容,並且當前內容也會消失。那麼,我能做些什麼呢?

謝謝

+0

檢查傳遞給方法的url的值。這可能不是你認爲的。 – Henry

+0

@Henry我真的檢查過了,在這裏,url參數是//www.youtube.com/embed/sLnBwfWvgpU,當我修改後它變成http://www.youtube.com/embed/sLnBwfWvgpU – yrazlik

+0

請檢查值裏面的url_string首先使用logcat,然後在PC瀏覽器中打印該打印的URL。檢查它是否正常工作。可能是你錯了url –

回答

0

你應該只是設置javascript;

請在您的代碼中試試;

private class CustomWebViewClient extends WebViewClient { 
@Override 
public boolean shouldOverrideUrlLoading(WebView view, String url) { 
    String url_string = url; 
    if(url_string.startsWith("//")){ 
     url_string = url_string.substring(2); 
     if(!url_string.contains("http")){ 
      url_string = "http://" + url_string; 
     } 
    } 
    webview.getSettings().setJavaScriptEnabled(true); 
    webview.loadUrl(url_string); 
    return true; 
} 
} 

在我的代碼中;

setContentView(R.layout.activity_main); 
    wb=(WebView)findViewById(R.id.webView1); 
    String url_string = "//www.youtube.com/embed/sLnBwfWvgpU"; 
    if(url_string.startsWith("//")){ 
     url_string = url_string.substring(2); 
     if(!url_string.contains("http")){ 
      url_string = "http://" + url_string; 
     } 
    } 
    wb.getSettings().setJavaScriptEnabled(true); 
    wb.loadUrl(url_string); 
+0

謝謝,但javascript已啓用我的web視圖,它可以加載具有url http://www.youtube .......實際上成功的視頻 – yrazlik

+0

我添加mywebview,它的工作我添加了我的代碼來回答 – Ozan

+0

所以你想使用自定義的網絡視圖? – Ozan