我已经创建了一个应用程序,你可以下载安卓系统的YouTube视频。现在,我想要它,这样如果你在YouTube原生应用程序中播放视频,你也可以下载它。要做到这一点,我需要知道为了播放YouTube应用程序,YouTube原生应用程序发出的意图。
如果我的模拟器上有YouTube程序,我可以很容易地做到这一点,所以我的第一个问题是:
发布于 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);
}
} 发布于 2009-08-21 02:28:47
这将在设备上工作,但不能在每个Lemmy's answer的仿真器上工作。
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watch?v=cxLG2wtE7TM")));发布于 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应用程序的设备上运行,所以这应该不是问题。
https://stackoverflow.com/questions/574195
复制相似问题