我正在开发一个在给定活动中自动连续播放mp3文件的应用。它通过侦听MediaPlayer的“ onCompletion”事件来知道当前mp3播放何时完成。
但是,如果我在播放媒体时通过按返回按钮返回开始显示,则显然该活动仍在运行。当触发“ onCompletion”事件时,它将尝试访问列表活动中的视图,并在出现空指针异常时崩溃。
确定活动不再“活动”并因此能够阻止通话播放下一个音频的最佳方法是什么?
[尝试在活动生命周期方法onStop或onDestroy中触发这些事件。检查this documentation了解更多详细信息。
onStop将在用户单击后退按钮时触发。因此,请在onStop中处理您的事件。
public void onStop () {
//do your stuff here
super.onStop()
}
最终也会调用onDestroy,但不一定要在单击后退按钮后立即调用。