3

私はandengineを使って開発中のゲームです。電源ボタンを押しても、onPause()メソッドが呼び出されません。問題を解決するにはどうすればよいですか?

    @Override
protected void onPause() {      
    //this method is not calling when press power button 
    super.onPause(); 
    this.mEngine.onPause() ;
}
4

1 に答える 1

2

奇妙なことに、それが呼び出されていないということは聞いたことがありません。ちょっと調べさせてください。

オーケー、押す力は常に を呼び出す必要onPause()があります。コードに何らかのバグがあるようです。すべてのステップに従うために、いくつかのログ呼び出しを追加していただけますか。DDMS ログを印刷します。

その他の考えられる問題:

onPause()電源ボタンを押すと、一部のデバイスが誤動作して 2 回呼び出すようです。

この場合、powerManager を使用して、画面が実際にオフになっているかどうかを確認してください。

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
if (pm.isScreenOn()) {
   //now do stuff
}

たぶんonPause()呼び出されますonCreate()が、直後に呼び出されますか?

デバイスの電源をオフにすると、ロック画面が表示されます。これは通常、ディスプレイを特定の向きに強制します。画面が現在その向きになっていない場合は、変更する必要があり、トップ アクティビティの構成を適切に変更して一致させます。

次のように設定変更を追加できます。

android:configChanges="keyboardHidden|orientation" android:configChanges="keyboardHidden|screensize"

これが起こらないことを確認するために。

于 2013-02-22T13:25:40.220 に答える