【问题标题】:Android turn off screen without restarting gameAndroid关闭屏幕而不重新启动游戏
【发布时间】:2013-05-02 18:52:58
【问题描述】:

我正在尝试创建一个安卓游戏,但在关闭屏幕时遇到问题。

目前我的游戏是这样工作的,当我按下主页按钮时它会暂停,当你按下返回按钮时它会停止并稍后重新开始。

现在我注意到,当我按下电源按钮关闭屏幕时,它会停止游戏,但不会关闭,而当我重新打开屏幕时,它会重新启动。 我想防止这种情况发生,让游戏只在我关闭屏幕时暂停,

我当前的代码:

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();
}

【问题讨论】:

  • 没人知道其他建议吗?

标签: android screen


【解决方案1】:

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

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

同样,我不确定。我已经有一段时间没有做任何 Android 编程了。

【讨论】:

  • 不,我将它放置了几分钟,它仍然有效,但会尝试放置更长时间。仍然感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-19
  • 1970-01-01
相关资源
最近更新 更多