用户关闭应用时停止背景音乐,而不是在用户更改活动时停止

时间:2013-01-22 15:50:46

标签: android

我正在研究如何开发Android应用程序。我从一个非常简单的应用程序开始,只有一个活动。然后我添加了一个播放背景音乐的服务;当然我使用onPause()方法,onStop()onDestroy()来管理服务。

但是现在,我有另一个活动,当新活动被打开时背景音乐停止(因为调用onPause()方法)。

我想仅在用户关闭或销毁我的整个应用时停止背景音乐,而不是在用户从某个活动转到另一个活动时停止。

当我开始构建我的应用程序时,我可能犯了一个大错误。现在我正试图解决这个问题。

我也尝试使用bindService,但我仍然遇到同样的问题。

我该怎样处理这个问题?

2 个答案:

答案 0 :(得分:0)

要播放音乐,我认为您最好使用Android Service

  

服务是表示一个的应用程序组件   应用程序希望执行更长时间运行的操作而不是   与用户交互或为其他人提供功能   要使用的应用程序每个服务类必须具有相应的    声明在其包的AndroidManifest.xml中。服务   可以使用Context.startService()和Context.bindService()启动。

     

请注意,服务与其他应用程序对象一样,在main中运行   他们的托管过程的线程。这意味着,如果您的服务是   要做任何CPU密集型(如MP3播放)或阻塞(如此   作为网络)操作,它应该在其中产生自己的线程   做那个工作。有关这方面的更多信息,请参阅流程和   线程。 IntentService类作为标准提供   具有自己的调度的线程的Service的实现   它的工作要做。

答案 1 :(得分:0)

通过您的服务,您可以使用方法found in this answer定期检查前台活动(或包)的内容。如果它不属于您,您可以终止该服务。