【问题标题】:sending commands from Activity to Service in android在android中将命令从Activity发送到Service
【发布时间】:2020-04-23 08:10:36
【问题描述】:

我有一个活动类和一个内部带有媒体播放器的服务。用户从他们想要播放的 SD 卡中选择 mp3。我使用 Intent extra 将该 mp3 的路径从活动发送到服务。

在服务中,媒体播放器可以启动并播放用户选择的 mp3。但是一个问题。如果用户按下暂停按钮,媒体播放器应该暂停并稍后在暂停的相同位置恢复歌曲。如何将命令从活动发送到应该暂停歌曲的服务?

将媒体播放器实例放在 Activity 中要容易得多。这样我就可以在那里放置一个 onclick 监听器和一个按钮。使用由服务运行的媒体播放器,它在 Activity 外部,不能只是在屏幕上放置一个按钮让他们按下暂停。

【问题讨论】:

    标签: android service android-activity communication


    【解决方案1】:

    两种选择:

    1. 如果您的服务是本地服务(这里应该是这种情况),您可以绑定活动和服务。有关如何执行此操作的示例,请参阅 Service class documentation

    2. 您还可以使用广播。基本上,您的服务中将有一个广播侦听器,它将期望广播操作,例如“com.mypackage.mediaplayer.Stop”、“com.mypackage.mediaplayer.Pause”、“com.mypackage.mediaplayer.Next”、.. . 然后,当单击按钮时,您的活动会简单地发送正确的广播消息。

    您还应该看看android stock music player source code

    已经完成了相同类型的项目,我建议选择选项 #2。

    【讨论】:

    • 太棒了,我真的很喜欢广播的想法。我现在正在看一些例子,它看起来并不像我最初想象的那么复杂。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多