我正在制作一款安卓游戏,我有一项播放背景音乐的服务。我使用两个按钮来启动和停止标题/菜单活动中的音乐。我遇到的问题是,如果在接到电话或退出应用程序时音乐保持打开状态,音乐仍在播放,直到您转到应用程序并将其关闭。
答案 0 :(得分:1)
执行此操作的最佳方法是发送命令以停止onPause()或onStop()中的音乐。根据你的意见,似乎你已经知道如何停止音乐了。您还需要在相应的命令中启动音乐。我建议使用onPause()。请参阅the lifecycle of an activity。
答案 1 :(得分:1)
如果您仍想在服务中播放音乐,则需要从活动(您可以了解生命周期事件)到服务(可以播放/停止音乐)进行交流。
在Android中,您可以通过绑定服务到活动来实现此目的。参见例如Bound Services,或网络上的许多其他文章(例如here)。
背后的想法是您使用自定义API创建一个类/对象。 Activity代码可以使用此对象。当您在此API上调用方法时,Android实际上会将此调用分派给服务。通过这种方式,您可以在代码中的某个位置启动服务,稍后您可以通过使用其Binder来获取它。
HTH