2

私のゲームでは、ユーザーが [戻る] ボタンを押すと、本当に終了するかどうかを尋ねるダイアログが表示されます。ただし、ホームボタンをオーバーライドする方法がないため、ホームボタンで同じことを行うことはできません。

ユーザーがタスク マネージャーのトリックを知っていれば、ホームを長押ししてアプリに戻ることができ、場所を失うことはありません。

トリックがわからない場合は、アイコンをもう一度選択するだけで、メイン メニューからアプリケーションを最初からやり直すことができます。

アプリが現在実行されている場合、メインメニューから開始する代わりに元の場所に戻るように、この動作をオーバーライドする方法はありますか?

アプリが一時停止したときにすべての状態を保存し、プログラムですべてをリロードして元の場所に送信できることを知っています。可能であれば、すべての作業を行う必要は避けたいと思います。

4

1 に答える 1

0

ただし、ホームボタンをオーバーライドする方法がないため、ホームボタンで同じことを行うことはできません。

実際、ホームボタンをオーバーライドできます。

  @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_HOME)) {
            //do your stuff
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

アプリが現在実行されている場合、メインメニューから開始する代わりに元の場所に戻るように、この動作をオーバーライドする方法はありますか?

これについて、あなたの最善の策はonPause()、すべてのメソッドをオーバーライドすることActivityです。ただし、ユーザーがアプリケーションから離れたときに、OS がアプリケーションを強制終了することを選択する可能性があるため (おそらくリソース要件のために)、それについての保証はありません。そのような場合、アプリケーションはメイン メニューから起動することになり、仕方がありません。

于 2012-06-26T03:53:31.517 に答える