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

Jac*_*ble 15 android activity-finish

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

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

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

ach*_*hie 23

尝试触发onStop或onDestroy上的Activity生命周期方法中的那些.有关详细信息,请查看此文档.

当用户点击后退按钮时,将触发onStop.因此,在onStop中处理您的事件.

public void onStop () {
//do your stuff here
super.onStop() 
}
Run Code Online (Sandbox Code Playgroud)

最终也会调用onDestroy,但不一定只要单击后退按钮即可.

  • 当一些新活动出现在此活动之前时,也会触发onStop().如果你想回听按钮,请尝试onBackPressed()事件. (2认同)