加载YouTube视频时出现ActivityNotFoundException

sky*_*llo 1 android exception

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

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

我收到了此匿名跟踪跟踪,无法弄清楚这是怎么发生的。这是否意味着设备不知道需要使用什么活动来处理“ 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)
Run Code Online (Sandbox Code Playgroud)

谢谢!

Jor*_*sys 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);
Run Code Online (Sandbox Code Playgroud)

但是我认为您正在尝试在模拟器上执行此操作,这就是您收到此错误消息的原因。使用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();
}
Run Code Online (Sandbox Code Playgroud)