我正在尝试在我的应用上建立YouTube链接,以便在外部窗口/标签中打开。任何人都可以帮助我吗?
这是我的代码:
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 :(得分: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链接。
答案 1 :(得分: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应用程序,则会在其中显示视频,否则将打开浏览器。