String videoId = "dD40VXFkusw";
int VIDEO_APP = 5551;
Intent videoClient = new Intent(Intent.ACTION_VIEW);
videoClient.setData(Uri.parse("http://m.youtube.com/watch?v="+videoId));
videoClient.setClassName("com.google.android.youtube","com.google.android.youtube.PlayerActivity");
startActivityForResult(videoClient, VIDEO_APP);
这曾经让我在原生播放器中显示youtube视频,但现在我得到了一个ActivityNotFoundException。这是为什么?
(06-10 09:23:33.949: ERROR/AndroidRuntime(27869): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.google.android.youtube/com.google.android.youtube.PlayerActivity}; have you declared this activity in your AndroidManifest.xml?
)
答案 0 :(得分:0)
您无法按照尝试使用Intent.setClassName()的方式为APK外部的intent指定类名。您需要做的只是提供URL并让Android解析哪个应用最适合。有关详细信息,请参阅Android YouTube app Play Video Intent。
答案 1 :(得分:0)
在项目AndroidManifest.xml中声明了“com.google.android.youtube”活动。
还要在您的设备/模拟器中安装YouTube应用程序。
如果您的设备中没有youtube应用,则会生成此类错误。