安卓服务还是MediaPlayer的自定义实现,哪个更好



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

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

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

在这两个选择中,哪一个更好?

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

例如,如果你有四个活动A->B->C->D。当你回到根活动A时,你应该停止媒体播放器(这样它就不会在应用程序外播放),你可以在onStop()中停止你的服务

这是该服务的开发人员参考资料http://developer.android.com/reference/android/app/Service.html(固定链路)

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

最新更新