我似乎遇到了一个有两个活动的应用程序的奇怪问题,这两个活动都使用了mediaplayer:
我正在创建一款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();
}
一些注意事项:
如果我启动应用程序,并立即按下后退按钮,它可以正常工作。只有在我启动应用程序,进入游戏,返回菜单,然后尝试使用后退按钮时,它才会失败。
使用Home按钮始终正常退出。
opengl
用于图形