2013-07-26 47 views
1

我試圖在我的應用上打開一個YouTube鏈接,在外部窗口/選項卡中打開。誰能幫我?android eclipse和外部URL

這裏是我的代碼:

import com.actionbarsherlock.app.SherlockFragment; 

public class Showing_now extends SherlockFragment{ 

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View mainView = (View) inflater.inflate(R.layout.activity_showing_now, container, false); 
    WebView webView = (WebView) mainView.findViewById(R.id.webViewsn); 

    webView.setWebViewClient(new MyWebViewClient()); 
    webView.getSettings().setPluginsEnabled(true); 
    webView.getSettings().setBuiltInZoomControls(false); 
    webView.getSettings().setSupportZoom(false); 
    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 
    webView.getSettings().setAllowFileAccess(true); 
    webView.getSettings().setDomStorageEnabled(true); 
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.getSettings().setPluginState(PluginState.ON); 
    webView.loadUrl("http://www.myweburl.com"); 
    return mainView; 
} 
    private class MyWebViewClient extends WebViewClient { 

    } 
} 
+0

上述代碼會發生什麼情況? – Raghunandan

+0

確保你在你的'AndroidManifest.xml'中有這個:'''http://stackoverflow.com/a/2378619/833647 –

回答

1

如果我理解正確的話,你想在YouTube應用打開YouTube的鏈接...如果你想所有的YouTube鏈接到應用中打開,使用此:

public class MyWebViewClient extends WebViewClient { 

    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 

     if (url.startsWith("http://m.youtube.com")||url.startsWith("http://www.youtube.com") { 
      startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url))); 
      return true; 
     } 
     return false; 
    } 

@ Ty221的回答也將工作,但此答案會自動嘗試在YouTube應用中打開所有YouTube鏈接。

0

如果你想觀看的外部應用程序,視頻,使用該功能:

public static void watchYoutubeVideo(String id){ 
    try{ 
     Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube:" + id)); 
     startActivity(intent);     
     }catch (ActivityNotFoundException ex){ 
      Intent intent=new Intent(Intent.ACTION_VIEW, 
      Uri.parse("http://www.youtube.com/watch?v="+id)); 
      startActivity(intent); 
     } 
} 

如果YouTube的應用程序安裝的視頻將在它顯示的,其他瀏覽器將被打開。