Android Activity不会退出,onPause()后立即调用onResume()

时间:2013-02-06 08:34:09

标签: android android-activity onresume onpause

我似乎遇到了一个有两个活动的应用程序的奇怪问题,这两个活动都使用了mediaplayer:

我正在创建一款Android游戏。它有两个活动:一个用于菜单(在启动时启动)和一个用于游戏(在您选择一个级别时启动)。 我有它的设置,如果你在游戏中然后点击后退按钮它返回到菜单活动。然后,理想情况下,如果再次按下后退按钮,它应该完全退出应用程序。它不是。我在菜单活动的LogCatonPause()方法中放置了onResume()个调试语句。我可以看到onResume()之后立即调用onPause()。 如果我禁用音乐,则它会正常退出。

以下是菜单活动的onPause()方法。我没有正确完成媒体播放器吗?有没有什么可以导致onResume()被调用?

GlMainMenu是我的GLSurfaceView

protected void onPause() {
    GlMainMenu.onPauseCalled = true;
    GlMainMenu.mediaPlayer.release();
    GlMainMenu.hasPlayedStartMusic = false;

    if (isShowingPauseDialog) {
        pauseDialog.cancel();
    }

    super.onPause();
    MMglSurfaceView.onPause();
    finish();
}

一些注意事项:

  • 如果我启动应用程序,并立即按下后退按钮,它可以正常工作。只有在我启动应用程序,进入游戏,返回菜单,然后尝试使用后退按钮时,它才会失败。

  • 使用Home按钮始终正常退出。

  • 如果它有任何不同,两个活动都使用opengl用于图形

0 个答案:

没有答案