ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

在android中将命令从Activity发送到Service

2019-10-07 00:24:42  阅读:211  来源: 互联网

标签:android service android-activity communication


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

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

将mediaplayer实例放在Activity中更容易.那样我就可以在那里放一个onclick监听器和一个按钮.对于由服务运行的媒体播放器,它在活动外部并且不能在屏幕上放置按钮以便他们推动暂停.

解决方法:

两种选择:

>如果您的服务是本地服务(这应该是这种情况),您可以绑定活动和服务.有关如何执行此操作的示例,请参阅Service class documentation
>您也可以使用广播.基本上,您的服务中将有一个广播监听器,它将支持广播操作,例如“com.mypackage.mediaplayer.Stop”,“com.mypackage.mediaplayer.Pause”,“com.mypackage.mediaplayer.Next”,.. .然后,您的活动只需在单击按钮时发送正确的广播消息.

您还应该看一下android stock music player source code.

做完同样的项目后,我建议选择#2.

标签:android,service,android-activity,communication
来源: https://codeday.me/bug/20191007/1863502.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有