【问题标题】:Android Activity not found exception on playing a youtube video on an emulatorAndroid Activity 在模拟器上播放 youtube 视频时未发现异常
【发布时间】:2012-05-17 06:40:38
【问题描述】:

我需要在我的应用程序中播放一些视频。我正在使用以下位代码:

vid="0ee3R3tfdd4"; //the video id of the youtube video
url="vnd.youtube:"+vid;
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));

该视频在普通设备上运行良好。但是,它会在模拟器上给出“找不到活动”异常。我认为原因是 youtube 应用程序可能没有安装在模拟器上。

我想知道:

  1. 这可能是实际设备上的问题。我已经看到每个设备都有一个 youtube 应用程序
  2. 无论是否安装了 youtube,如何确保应用在设备上正常运行。

【问题讨论】:

  • 模拟器没有安装内置的 youtube 应用程序。如果不要求用户使用带有 youtube 应用程序 uri 的意图使用启动市场应用程序安装它,请检查 Youtube 是否安装在设备上。
  • 你在 AndroidManifest.xml 中定义了活动吗?
  • @user370305,我能否以编程方式检查 youtube 是否安装在设备上,如果未安装,请用户安装?...谢谢..
  • 是的,您可以使用 Intent 和包管理器..

标签: android youtube


【解决方案1】:

您可以通过两种方式播放此视频。

使用 YouTube 应用:

try {   
   vid="0ee3R3tfdd4"; //the video id of the youtube video
   url="vnd.youtube:"+vid;
   startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
} catch(ActivityNotFoundExcepiton e) {
   Toast.makeText(this, "Plase install Youtube before running the app", Toast.LENGTH_SHORT).show();
}

或者你可以使用YouTube Data API通过id获取视频url,然后就可以播放视频了

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-11
    • 2011-12-15
    • 1970-01-01
    • 2012-06-28
    • 2017-12-23
    • 2012-09-24
    • 2014-05-01
    • 1970-01-01
    相关资源
    最近更新 更多