我有一个从AlarmManager调用的活动。 这是一条警报信息。
从Key Guard调用Activity时,生命周期从onCreate - > onStart - > onResume - > onPause - > onStop开始,然后返回onCreate - > onStart - > onResume。
由于它是一个警报活动,我已将MediaPlayer.stop行放在Activity的onStop中,但现在警报声在启动后停止。
如果我将MediaPlayer.stop放在onDestroy中,我会得到正确的行为,但是如果用户按下主页按钮,活动就会消失并且声音会继续播放。
任何人都可以告诉为什么在这种情况下调用onPause和onStop?
编辑:在日志中进行一些调查后,我找到了这一行:
11-26 17:39:01.273: I/ActivityManager(385): Activity reported stop, but no longer stopping: ActivityRecord{41827a90 u0 net.xisberto.workschedule/.AlarmMessageActivity}
好吧,经过一年多的时间,我意识到这个问题从来没有得到答案,虽然我必须解决这个问题,所以在这里:
现在我在onResume期间启动MediaPlayer,但如果它已经在播放,我不再启动它:
@Override
protected void onResume() {
super.onResume();
...
if (!mMe