Android MediaPlayer没有';当由意图启动时,不要在后台播放

Android MediaPlayer没有';当由意图启动时,不要在后台播放,android,android-intent,media-player,Android,Android Intent,Media Player,在我的应用程序中,我下载了一个mp3播客,然后使用MediaPlayer播放,目的是: Intent intent = new Intent(android.content.Intent.ACTION_VIEW); Uri data = Uri.parse("file://" + filepath); intent.setDataAndType(data, "audio/*"); try { startActivity(intent); } catch (ActivityNo

在我的应用程序中,我下载了一个mp3播客,然后使用MediaPlayer播放,目的是:

Intent intent = new Intent(android.content.Intent.ACTION_VIEW);

Uri data = Uri.parse("file://" + filepath);
intent.setDataAndType(data, "audio/*");

try {
        startActivity(intent);
} catch (ActivityNotFoundException e) {
        e.printStackTrace();

}
这是可行的,但不幸的是,我一离开它,播放器就会暂停,即当它进入背景时。当手动打开时,播放器在后台愉快地播放

我需要做什么才能让它在有意图的情况下在后台播放?

我只是想澄清一下,我不想在后台启动播放器,我只是想知道当它失去焦点时为什么会停止

我需要做什么才能让它在有意图的情况下在后台播放

你不能那样做。您可以使用
MediaPlayer
类并在服务中对其进行操作

我需要做什么才能让它在有意图的情况下在后台播放


你不能那样做。您可以使用
MediaPlayer
类,并在服务中对其进行操作。

我知道这一点,但出于各种原因,我有意启动外部播放器。就像您使用意图启动webbrowser而不是在webview中显示内容一样。@marlar:那么您既不知道也不关心媒体是否在后台播放。这取决于其他应用程序,而不是您——请记住,根据您的
意图
,用户可能会选择几十个应用程序,每个应用程序都有自己的特点。如果你想控制,自己实现媒体播放。你是对的。我刚刚将手机升级为姜饼,现在MediaPlayer的行为有所不同。在它正常打开之前(除了在后台时不播放),但现在它是我自己应用程序顶部的一个小透明窗口。总而言之,鉴于可能安装的手机、Android版本和应用程序数量庞大,无法保证MediaPlayer或任何人的特定行为。请参阅Commonware的答案,并链接到几个非常有用的示例:我知道,但出于各种原因,我有意启动外部播放器。就像您使用意图启动webbrowser而不是在webview中显示内容一样。@marlar:那么您既不知道也不关心媒体是否在后台播放。这取决于其他应用程序,而不是您——请记住,根据您的
意图
,用户可能会选择几十个应用程序,每个应用程序都有自己的特点。如果你想控制,自己实现媒体播放。你是对的。我刚刚将手机升级为姜饼,现在MediaPlayer的行为有所不同。在它正常打开之前(除了在后台时不播放),但现在它是我自己应用程序顶部的一个小透明窗口。总而言之,鉴于可能安装的手机、Android版本和应用程序数量庞大,无法保证MediaPlayer或任何人的特定行为。请参阅此处Commonware的答案,并链接到几个非常有用的示例: