Firebaseを使用してサインアップ/ログインフローを行っています。認証が成功した後の両方のアクティビティが開きます。主なアクティビティは、インテントとfinish();を使用します。私が抱えている問題は主な活動です。一旦それを閉じるとアプリを閉じると、アプリを開くとメインアクティビティに戻ります。しかし、私がこれを2回目にした後、戻るボタンを押すと、ログインするかサインアップするかのどちらかに戻ります。それはそれにアクセスするために使用されたものです。私はそれがおそらく活動のライフサイクルと関係するかもしれないと思った。私はまた、リスナーを使用して、おそらくアプリケーションが開かれたときに主なアクティビティを実行させようとしました。 Facebookのようなアプリでは、アプリを開いて終了して何度も何度も開くことができます。ログアウトしません。戻るボタンでユーザーがログアウトする
ActivityCompat.finishAffinity(LoginActivity.this);
でログインアクティビティの問題を解決できました。今度は2回クリックしてアプリを終了すると、アプリを開くとアクティビティにサインアップするようになります。すなわち、 FIRST TIMEは、私は問題だと思うのはここLAUNCH Sign up activity --> LoginActivity --> Mainacitivty -- back button(exit app), open app -- MainActivity-- back button(exit app)-- open app, back button --> SignUpActivity
は、アンドロイドマニフェストです:私は戻るボタンからアプリを終了して再度開くと
<activity android:name=".SignUpActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
、アプリがSignUpActivityを立ち上げています。だから今私はユーザーがまだサインインされていることを確認し、MainActivityにリダイレクトする方法を見つけなければなりません。これは私が読んで試みたものです。
// get girebase auth instance
auth = FirebaseAuth.getInstance();
//Check to see if user is signed in
mAuthListener = new FirebaseAuth.AuthStateListener(){
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if(user != null){
//user is signed in
startActivity(new Intent(SignUpActivity.this, MainActivity.class));
finish();
Log.d("", "onAuthStateChanged: Signed_in: " + user.getUid());
Toast.makeText(getApplicationContext(),"User status : " + user.getUid(), Toast.LENGTH_LONG).show();
}
//
}
};
https://firebase.google.com/docs/auth/android/anonymous-auth
任意の助けいただければ幸いです。コードを使用して新しいアクティビティの起動時に活動を終了し、ログインまたはアップが正常に行われている記号の後、今
関連するコードスニペットを投稿してください。 –