1

我正在制作一个安卓游戏,我有一个播放背景音乐的服务。我使用两个按钮来启动和停止 Title/Menu 活动中的音乐。我遇到的问题是,如果在您接到电话或退出应用程序时音乐一直打开,那么音乐仍在播放,直到您转到应用程序并将其关闭。

4

2 回答 2

1

如果您仍想在 Service 中播放音乐,则需要从 Activity(您了解生命周期事件的地方)到 Service(可以播放/停止音乐的地方)进行通信。

在 Android 中,您通过将 Service绑定到 Activity 来做到这一点。请参阅例如Bound Services或网络上的许多其他文章(例如此处)。

背后的想法是您使用自定义 API 创建一个类/对象。这个对象可以被 Activity 代码使用。当您调用此 API 上的方法时,Android 实际上会将此调用分派给服务。通过这种方式,您可以在代码中的某个位置启动一个 Service,然后您可以通过使用它的 Binder 来获取它。

高温高压

于 2011-05-31T22:38:46.157 回答
1

最好的方法是发送命令以在 onPause() 或 onStop() 中停止音乐。根据您的评论,您似乎已经知道如何停止音乐。您还需要在相应的命令中启动音乐。我建议使用 onPause()。查看活动的生命周期

于 2011-05-31T21:42:29.927 回答