Android关闭屏幕而不重启游戏

时间:2013-05-02 18:52:59

标签: android screen

我正在尝试创建一个Android游戏,但是关闭屏幕时出现问题。

目前我的游戏工作方式是这样的,当我按下主页按钮时它会暂停,当你按下后退按钮时它停止然后再次启动。

现在我注意到,当我按下电源按钮关闭屏幕时,它会停止游戏,而不会关闭,当我重新启动屏幕时。 我想阻止这种情况,并且当我关闭屏幕时让游戏暂停,

我目前的代码:

public void surfaceCreated(SurfaceHolder holder) {
    if (!mGameIsRunning) {
        mGameIsRunning = true;
        loop = new GameLoop(getHolder(), this);
        createSprites();
        loop.setRunning(true);
        loop.start();

    } else {
        resume();
    }

}

public void surfaceDestroyed(SurfaceHolder holder) {
    pause();
}

public void pause() {
    loop.setRunning(false);
    while (true) {
        try {
            loop.join();
        } catch (InterruptedException e) {
        }
        break;
    }
    loop = null;
}

public void resume() {
    loop = new GameLoop(getHolder(), this);
    loop.setRunning(true);
    loop.start();
}

1 个答案:

答案 0 :(得分:0)

可能是您的应用程序正在丢失其OpenGL上下文,并且在重新打开它时必须重新启动。我记得它,如果你使用'home'按钮,上下文将被保存一段时间,但当你使用后退按钮或让设备进入睡眠状态时它会被删除。

您可以尝试使用“主页”按钮并将其留在后台一段时间,您的测试可能是这样的:“主页”按钮 - >立即切换回来工作。尝试给它一些时间让上下文丢失。

同样,我不确定。自从我完成任何Android编程以来,它已经有一段时间了。