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

问题描述 投票:15回答:2

我正在开发一个在给定活动中自动连续播放mp3文件的应用。它通过侦听MediaPlayer的“ onCompletion”事件来知道当前mp3播放何时完成。

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

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

android activity-finish
2个回答
24
投票

[尝试在活动生命周期方法onStop或onDestroy中触发这些事件。检查this documentation了解更多详细信息。

onStop将在用户单击后退按钮时触发。因此,请在onStop中处理您的事件。

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

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


0
投票

如果您正在使用Kotlin,请使用此

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

Here的主题更多>>

© www.soinside.com 2019 - 2024. All rights reserved.