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 に答える