1

重複の可能性:
Android の [戻る] ボタンを押すと、アプリを終了する必要があります

練習用に登録とログイン画面を作成しています。そのため、SharedPreferences を配置して、ユーザーがアプリを再度開いたときに、ログイン アクティビティに誘導し、登録から再度開始しないようにします。ただし、ログイン アクティビティから [戻る] ボタンを押すと、既に保存されている SharedPreferences を変更する可能性のあるアクティビティの登録に戻ります。この機能を無効にしたいのですが、ユーザーが戻るボタンを押したときにアプリを終了するにはどうすればよいですか?

ありがとう、

4

4 に答える 4

9

戻るボタンを登録画面に戻さない場合、最もクリーンな解決策はnoHistory、マニフェストの属性を使用してアクティビティ履歴から除外することです。

    <activity
        android:name=".RegistrationActivity"
            ...
        android:noHistory="true" >

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
于 2012-10-02T17:31:26.683 に答える
1
@Override
public void onBackPressed() {
    // TODO Auto-generated method stub
    super.onBackPressed();
}

このメソッドは、戻るボタンが押されたときにキャッチします。

于 2012-10-02T17:29:40.720 に答える
0
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
   if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() ==KeyEvent.ACTION_DOWN)
     {
        //Handler for KEYCODE_BACK Pressing.
     }
}

アクティビティを閉じたい場合:

public void finish ()

.アクティビティが完了し、閉じる必要があるときにこれを呼び出します。ActivityResult は、onActivityResult() を介してあなたを起動した人に伝播されます。

startActivityForResult によって開始された別のアクティビティを閉じたい場合:

public void finishActivity (int requestCode)

.startActivityForResult(Intent, int) で以前に開始した別のアクティビティを強制終了します。

于 2012-10-02T17:37:58.983 に答える
0

Paul-Jan の回答の代わりに、register アクティビティで startActivity(...) を呼び出した直後に finish() を呼び出すことができます。

于 2012-10-02T17:38:30.063 に答える