Android:如何知道活动是否完成?

时间:2011-06-11 02:54:18

标签: android activity-finish

我正在开发一个自动播放mp3文件并在给定活动中连续播放的应用程序。它通过从MediaPlayer收听“onCompletion”事件来了解当前mp3播放的完成时间。

但是,如果我在播放媒体时按后退按钮返回到开始显示,显然活动仍在运行。当触发“onCompletion”事件时,它会尝试访问列表活动中的视图并在空指针异常时崩溃。

确定活动不再“活动”的最佳方法是什么,因此能够阻止呼叫播放下一个音频?

2 个答案:

答案 0 :(得分:22)

尝试触发onStop或onDestroy上的Activity生命周期方法中的那些。查看this documentation了解详情。

当用户点击后退按钮时,将触发

onStop。因此,请在onStop中处理您的活动。

public void onStop () {
//do your stuff here
super.onStop() 
}

最终也会调用onDestroy,但不一定会在单击后退按钮时调用。

答案 1 :(得分:0)

如果您使用的是科特林,请使用

override fun onStop () {
    super.onStop()
    //do stuff
}

Here关于这个主题的更多信息