1

電話がスリープ状態になる前 (ユーザーが電源ボタンを押す) からゲームを続行できるようにしたい。私のゲームはホームボタンで問題なく動作します。ユーザーがホームボタンを押してゲームを再度開くと、あるべき場所でゲームが開始されます。ただし、ユーザーが電源ボタンを押すと(Google htc nexus oneで)、クラッシュします。しかし、samsung Galaxy Tablet 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 に答える