0

如何意图系统媒体应用程序?

因为我想通过使用系统媒体应用程序在我的应用程序中播放视频。

我尝试了以下代码,但没有成功。

    url = "http://www.ooklnet.com/files/381/381489/video.mp4";
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
    intent.addCategory(Intent.CATEGORY_APP_MUSIC);
    startActivity(intent);

但是当我尝试以下代码时,它是成功的,

    url = "http://www.ooklnet.com/files/381/381489/video.mp4";
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
    startActivity(intent);

但是,它需要我打开两个步骤:

  • 第一步是显示要选择的对话框(Android 系统和浏览器)。

  • 第二步:当我选择Android系统时,它显示应用程序可以播放这个视频。

我想按“播放”按钮,它将使用系统媒体应用程序运行

请告诉我如何,

收到 CommonWare 的答复后更新

我可以使用以下代码来准确定位系统媒体应用程序的人。

// String type = "audio/mpeg4-generic"; // It works for only Mobo Player
String type = "video/mp4"; // It works for all video application

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setDataAndType(Uri.parse(url), type);
startActivity(intent);

我的设备已经存在第三方媒体应用程序(Mobo Player、MX Player 和 Video)Video 应用程序是系统媒体应用程序,所以我们无法在设置中卸载它。

p/s:我用的是安卓2.2.1,

谢谢,

4

1 回答 1

1

我尝试了以下代码,但没有成功。

您的系统上没有既可以播放视频又可以作为音乐播放器的活动。

第一步是显示要选择的对话框(Android 系统和浏览器)。

用户可以在他们想要的任何应用程序中显示此视频。

第二步:当我选择Android系统时,它显示应用程序可以播放这个视频。

据推测,这是在 URL 下载后的某个时间发生的。您可以尝试使用setDataAndType()提供正确的 MIME 类型来简化这一点。

我想按“播放”按钮,它将使用系统媒体应用程序运行,

没有“系统媒体应用程序”。一个设备可能有零个、一个或多个能够从 URL 播放视频的应用程序。这些应用程序可以由用户预先安装或安装。当您请求使用 播放视频ACTION_VIEW时,操作系统和用户将决定哪个应用程序将播放视频。

于 2013-10-27T17:34:38.167 回答