2017-05-18 8 views
-4

私のアプリケーションでは、アクティビティの進行ボタンをクリックすると、ユーザがログインしているかどうかを確認します。ユーザーがログインしている場合は、前回のアクティビティに記録されたすべての情報とともに次のページ(SomeActivity)に移動しますが、ログインしていない場合はLoginActivityが起動され、ログイン後に次のステップが実行されます。Androidのログインアクティビティの後に現在のアクティビティを再起動

しかし、問題はLoginActivityのログインが成功した後、私がやりたくないHomeActivityの意図を発していることです。ログインが成功した後、同じアクティビティ(LoginActivityが起動された場所)が開いているはずです。

+0

ユーザーならば、ユーザーがそれにログインしていない場合は、アプリを閉じた後right.soホーム画面にリダイレクトされますと仮定するユーザーがログインされた場合は、ログイン画面にリダイレクトされます、私が最初に明確にしましょうとオープン直接記録されているホーム画面にリダイレクトする必要がありますか? –

+1

コードを共有してください! – JavadKhan

+0

いいえ...例を挙げて説明しましょう。必要なすべてのフィールドを入力して支払いを進めるが、ログインしていないと、ログインアクティビティが開始され、ログインが成功すると、すべての情報を含む最後のアクティビティが開始されます。 –

答えて

0

startActivity()を呼び出す代わりに、ログイン成功時にfinish()を呼び出して、バックスタックから前のアクティビティにつながります。

startActivity()を呼び出してLoginActivityを開いた後に、finish()を呼び出さないでください。

0

あなたは、そのユーザはログインが次のログインactivtiyの呼び出しに成功し、活動スタック内の最後の活動が開始されますと、ログイン・アクティビティ

Intent intent =new Intent(context, LoginActivity.class); 
startActivity(intent); 

を開くために意図、次の使用にはログインしていないチェックの上をクリックしてください。

LoginActivity.this.finish(); 
+0

LoginActivityのfinish()を呼び出した後、最初のアクティビティのonCreate()が再び呼び出され、以前に保存したデータが削除されるため、そのアクティビティに格納されたデータはどうなるでしょうか –

+0

前のアクティビティのLoginActivity OnStart()メソッドでfinish()を呼び出した後に呼び出され、OnStop()データを保存してonStart()メソッドを呼び出すことができます。 –

関連する問題