这是一个架构问题。
我想要一个运行和管理 2 个子服务的全局服务。
我们将其称为流媒体,以及子广播和播客
广播和播客都使用 mediaplayer api,但差别不大(raio 是实时流媒体 aac,播客是来自 http url 的 mp3)
广播和播客处于相同的 Activity 中,但处于不同的 fragment 中
服务为 fragment 提供回调接口(interface)来更新用户界面
<小时/>流媒体必须:
- 从应用程序启动运行
- 只要主 Activity 正在运行就运行
- 直到应用完成()才停止
- “管理”其他服务
广播和播客
- 从我点击一个按钮到我点击另一个按钮或在某个时间点(预定)运行
- 在用户决定或某个时间点(预先确定)之前不会被杀死
- 广播播放时,播客会暂停或停止(反之亦然)
- 广播和播客必须扩展服务并实现相同的回调方法
我已经找到了解决方案,但我不满意
等待其他一些想法吗?
最佳答案
如果父级
控制两个子级
,则子服务的触发器或按钮应委托(delegate)
给父级。事实上,在您的情况下,父级似乎应该是子级与外部世界之间的唯一接口(interface)
。父级可以根据外部触发器和业务逻辑决定何时暂停/停止哪个子级。
关于java - 1 项家长服务和 2 项 child 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17882206/