0

私はゲームを作成していますが、ユーザーがアクティビティを終了した場合(戻るキーまたはホームキーが押された場合)、アクティビティはスクリプトに投稿してアクティビティを終了することでゲームを終了する必要があります。

戻るキーが押されたかどうかは検出できますが、ホームキーが押されたかどうかを検出するための有効な方法が見つかりません。ユーザーがゲームの途中で電話を受けたとしましょう。Activity_Pauseメソッドでゲームを終了することはできません。

イベントをトラップすることはできないと思いますが、バックグラウンドに送信する電話のようなものではなく、アクティビティがユーザーによって残されたかどうかを確認する方法を誰かが見つけました。

4

2 に答える 2

1

あなたが主張するならば、ここに回避策があります。Androidの次のバージョンは抜け穴を塞ぐかもしれません。

boolean mKeyPress;  
boolean mUserLeaveHint;

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
    mKeyPress = true;
    return super.onKeyDown(keyCode, event);
} 

@Override
protected void onUserLeaveHint()
{
    super.onUserLeaveHint();
    mUserLeaveHint = true;
}

@Override
protected void onPause()
{
    super.onPause();
    if (!mKeyPress && mUserLeaveHint)
    {
        // HOME_KEY is pressed
    }
}
于 2013-03-13T01:27:58.067 に答える
-2

これの複製のように見えます

Android、放送受信機を介してホームボタンクリックを受信する方法は?

@Override
public boolean dispatchKeyEvent(KeyEvent keyevent) {

    if (keyevent.getKeyCode() == KeyEvent.KEYCODE_HOME) {
        //Do here what you want
        return true;
    }
    else
        return super.dispatchKeyEvent(event);
}
于 2013-03-13T00:13:41.633 に答える