1

1- マルチタスクを無効にするにはどうすればよいですか? 私のアプリケーションはソケット ベースのゲームです。アプリを起動するたびに、最初にメイン ページをロードしてソケット接続を開始する必要がありますか? ユーザーがアプリケーションをバックグラウンドで実行できるようにしたくありません。これは可能ですか?

2- ユーザーが戻るボタンを使用してページ間を移動できないようにしたいのですが、ユーザーはアプリケーションで使用できるボタンのみを使用して移動する必要がありますか? これは可能ですか?

4

1 に答える 1

4

戻るボタンをキャッチ (および無視) することはできますが、ホーム ボタンをブロックすることはできません。

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

電話は単なる別のアプリケーションであるため、この OS 設計により、不正なアプリケーションがデバイスの「電話」の側面を無効にすることを防ぎます。

アプリケーションがバックグラウンドで実行されないようにしたい場合は、 onPause() メソッド内からアクティビティを閉じることができます。

@Override
protected void onPause()
{
    super.onPause();
    finish();
}

これにより、アプリケーションが何らかの理由でバックグラウンドに置かれた場合に、アプリケーションが強制的にゼロから開始されます。ただし、これはおそらく電話がスリープ状態になったときに呼び出されるため、探している正確な動作ではない可能性があります。

于 2010-08-14T00:51:21.447 に答える