我使用以下代码在支持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)
谢谢!
如果您添加有效的视频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)
| 归档时间: |
|
| 查看次数: |
1536 次 |
| 最近记录: |