我在一个应用程序,自动播放MP3文件,并从一个给定的活动中连续播放.它通过从MediaPlayer收听“onCompletion”事件知道当前的mp3播放完成.
但是,如果在播放媒体时按返回按钮返回开始显示,显然该活动仍在运行.当“onCompletion”事件被触发时,它会尝试访问列表活动中的视图,并在空指针异常中崩溃.
确定活动不再“活跃”的最佳方法是什么,因此能够阻止来电播放下一个音频?
解决方法
尝试触发活动生命周期方法onStop或onDestroy.查看
this documentation了解更多详情.
当用户点击返回按钮时,onStop将被触发.所以在onStop处理你的事件.
public void onStop () { //do your stuff here super.onStop() }
最终也将调用onDestroy,但是只要点击后退按钮,就不一定要.