New... > Android 4.2 SDK の ADT Tools を使用して Eclipse 内のAndroid Activityに移動すると、デフォルトのLoginActivityを使用しています。
電子メール フィールド、パスワード フィールド、および「サインインまたは登録」というボタンが含まれています。そのボタンをクリックすると、偽の非同期ネットワーク リクエストを実行し、いくつかのメソッドを呼び出して進行状況バーを表示し、ダミー データでユーザー ログインを確認し、すべてが成功した場合に最後に呼び出されるものを呼び出します。
@Override
protected void onPostExecute(final Boolean success) {
mAuthTask = null;
showProgress(false);
if (success) {
//finish();
Intent intent = new Intent(LoginActivity.this, MainActivity.class)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_TASK_ON_HOME);
startActivity(intent);
} else {
mPasswordView
.setError(getString(R.string.error_incorrect_password));
mPasswordView.requestFocus();
}
}
私は finish() をコメントアウトしましたが、代わりに、メインのアプリ ウィンドウ (ログイン状態) となる新しいアクティビティ ウィンドウを開きたいと考えています。私は昨日 Android を使い始めたばかりですが、アクティビティの代わりにこの種のフラグメントを使用する例をたくさん見てきました。それは問題ですか?とにかく、正常に動作し、新しいアクティビティが開きますが、「戻るボタン」を押すとログイン画面が表示されます。以下でアクティビティに設定したフラグは、履歴スタックをクリアするために必要なものであると確信していますが、機能しません。
上記のコードを修正して履歴スタックをクリアするにはどうすればよいですか? つまり、ログインした後、新しいアクティビティに移動し、[戻る]を押すと、ホーム画面に移動する必要があります。
アップデート
LoginActivity、MainActivity、AndroidManifest のコードを添付しました。