android服务或MediaPlayer的自定义实现,哪个更好?

时间:2012-10-12 07:32:01

标签: android service focus media-player

我正在使用Android MediaPlayer类,这个应用程序的其中一个活动有播放,暂停和选择mp3,按钮。该应用程序共有4项活动。我能够让它为一项活动而工作。但是当我按下后退按钮离开或者按下按钮后转到另一个活动进入另一个活动时,媒体播放器在我离开活动时不会继续播放。

我希望音乐能够在这个应用的所有活动中继续播放,但不是在应用之外。并且能够在其他活动上设置暂停按钮以暂停相同的音乐曲目。但我并不认为服务是最好的方式,因为它会在应用程序失焦时播放。就像有人看到其他应用程序时,这个应用程序不可见。据我所知,即使您的应用对用户不可见,服务也更适合在后台运行音乐。

第一种选择是对MediaPlayer进行编码,使其能够在这个应用程序中的所有活动中运行,但不能在应用程序之外运行。第二种选择是使用Android服务,如果可能的话,它可以限制在这个应用程序中。

这两个选择中哪个更好?

1 个答案:

答案 0 :(得分:1)

服务更好。这是您可以解决问题的方法。您可以为您的应用程序运行该服务以播放音乐。

例如,如果您有四个活动A-> B-> C-> D.当您回到根据活动A时,您应该停止该媒体播放器(因此它不会在app)您可以在onStop()

中停止服务

以下是服务http://developer.android.com/reference/android/app/Service.html(固定链接)

的开发人员参考

这是一个关于Lars Vogel服务的深入教程 http://www.vogella.com/articles/AndroidServices/article.html