【发布时间】:2017-01-20 22:29:38
【问题描述】:
我已经实现了一个 MediaPlayer,它在接收到某个 Intent 时开始在 BroadcastReceiver 中播放音频文件。 我尝试使用 isPlaying() 方法在开始另一个音频之前检查 MediaPlayer 是否正在播放某些内容。如果 Intent 在 Activity 生命周期内多次触发,它就可以正常工作。
我的问题是,当 Activity 启动时,Intent 总是被触发,因此使得 BroadcastReceiver 每次都创建一个 MediaPlayer 对象,例如去另一个活动,然后回来。 我不想在离开当前活动时停止音频(并且它不会随着我当前的代码停止),我只想防止 MediaPlayer 在播放另一个音频时再次开始播放。 那么我该如何创建一个可以从 BroadcastReceiver 访问的全局 MediaPlayer?或者如何检查 MediaPlayer 是否已经存在,以便 BroadcastReceiver 不会在每次收到 Intent 时创建 MediaPlayer 对象?
【问题讨论】:
标签: android android-activity broadcastreceiver android-mediaplayer android-lifecycle