1

我使用此代码在支持它的活动(通常是浏览器)中加载 YouTube 视频:

Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watch?v=" + videoId));
context.startActivity(i);

我收到了这个匿名跟踪,我不知道这是怎么发生的。这是否意味着设备不知道它需要使用什么活动来处理“http”协议?(即没有浏览器?)

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=http://www.youtube.com/watch?v=xxxxxx }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1512)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1384)
at android.app.Activity.startActivityForResult(Activity.java:3190)
at android.app.Activity.startActivity(Activity.java:3297)
at com.sprogcoder.basetube.d.c.a(Unknown Source)
at com.sprogcoder.basetube.f.b.onItemClick(Unknown Source)
at android.widget.AdapterView.performItemClick(AdapterView.java:292)
at android.widget.Gallery.onSingleTapUp(Gallery.java:960)
at android.view.GestureDetector.onTouchEvent(GestureDetector.java:568)
at android.widget.Gallery.onTouchEvent(Gallery.java:937)
at android.view.View.dispatchTouchEvent(View.java:5546)

谢谢!

4

2 回答 2

5

如果添加有效的视频 ID 会怎样?像“AOsgv_X_cV8”

String videoId = "AOsgv_X_cV8";
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watch?v=" + videoId));
context.startActivity(i);

但我认为您正在尝试在模拟器上执行此操作,这就是您收到此错误消息的原因。使用 youtube 应用程序。

try {   
url="vnd.youtube:"+videoId;
 context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
} catch(ActivityNotFoundExcepiton e) {
   Toast.makeText(context, "Plase install Youtube app to see this video", Toast.LENGTH_LONG).show();
}
于 2012-08-01T20:42:23.277 回答
0

将您的 URI 修改为http://www.youtube.com/v/ {VIDEOID}

于 2012-08-01T20:43:20.900 回答