1

我希望我的游戏能够在手机进入睡眠状态(用户按下电源按钮)之前从其左侧继续。我的游戏可以用主页按钮正常工作。当用户按下主页按钮并再次打开游戏时,游戏会从应有的位置开始。但如果用户按下电源按钮(在 google htc nexus one 上),它会崩溃。但是当我在三星 Galaxy 平板 10 上测试游戏时,它运行良好。

LogCat中,我可以观察到当用户按下 Galaxy 平板电脑上的电源按钮时,会调用onPause() 。当用户再次按下onResume()时,这是正常的。

但是在google nexus上,当用户按下电源按钮时,onPause(),onResume(),onPause()在进入睡眠之前分别被调用。当用户再次按下电源按钮时,不会调用任何内容。

请建议我该如何解决这个问题。提前致谢

编辑

看起来这个问题仅在默认情况下具有纵向方向的设备上观察到。

4

1 回答 1

0

我设法通过回答这个问题来解决这个问题。应用此解决方案后,系统不再崩溃。但是在系统唤醒之后,宽度和高度被交换了。所以另外我有覆盖

@Override
public void onSurfaceChanged(GL10 gl, int width, int height) {
    if(width>height)
         gl.glViewport(0, 0, width, height);
    else gl.glViewport(0, 0, height, width);

}    

通过这种方式,我将游戏恢复为横向。

于 2012-10-10T09:33:39.860 回答