1

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

我正在创建一个 Android 游戏。它有两种活动:一种用于菜单(在启动时启动),另一种用于游戏(在您选择关卡时启动)。我已经设置好了,如果你在游戏中然后点击后退按钮,它会返回到菜单活动。然后,理想情况下,如果您再次点击后退按钮,它应该完全退出应用程序。它不是。我 LogCat在菜单活动onPause()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();
}

一些注意事项:

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

  • 使用主页按钮始终正确退出。

  • 以防万一,这两个活动都opengl用于图形
4

0 回答 0