我已经创建了一个应用程序,你可以下载安卓系统的YouTube视频。现在,我想要它,这样如果你在YouTube原生应用程序中播放视频,你也可以下载它。要做到这一点,我需要知道为了播放YouTube应用程序,YouTube原生应用程序发出的意图。
如果我的模拟器上有YouTube程序,我可以很容易地做到这一点,所以我的第一个问题是:
我可以为我的模拟器下载YouTube应用程序吗,or...What是用户选择要播放的视频时使用的意图。
发布于 2012-09-16 01:03:03
这个怎么样:
public static void watchYoutubeVideo(Context context, String id){
Intent appIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube:" + id));
Intent webIntent = new Intent(Intent.ACTION_VIEW,
Uri.parse("http://www.youtube.com/watch?v=" + id));
try {
context.startActivity(appIntent);
} catch (ActivityNotFoundException ex) {
context.startActivity(webIntent);
}
}
发布于 2011-08-19 06:45:45
下面是我是如何解决这个问题的:
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube://" + video_id));
startActivity(intent);
现在我已经做了更多的研究,看起来我只需要'vnd.youtube:VIDEO_ID‘而不是冒号后面的两个斜杠(':’vs. '://'):
http://it-ride.blogspot.com/2010/04/android-youtube-intent.html
我尝试了这里的大多数建议,但它们对于所有引发异常的所谓“直接”方法都不是很有效。我假设,使用我的方法,如果没有安装YouTube应用程序,操作系统会有一个默认的备用位置,而不是应用程序崩溃。理论上,这款应用程序只能在装有YouTube应用程序的设备上运行,所以这应该不是问题。
发布于 2011-09-07 20:56:47
使用我的代码..我可以使用这个代码来播放youtube视频...你只需要在"videoId“变量中提供youtube video id ...
String videoId = "Fee5vbFLYM4";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube:"+videoId));
intent.putExtra("VIDEO_ID", videoId);
startActivity(intent);
https://stackoverflow.com/questions/574195
复制相似问题