2
私はメインアクティビティでユーザにログインしますが、ボタンを使って別のアクティビティでユーザをログアウトしたいとします。しかし、FirebaseAuth
オブジェクトを他のアクティビティに渡すことはできません。Androidベースのfirebase認証オブジェクトを他のアクティビティに渡してログアウトする
PutParcelableとPutSerializableはクラス自体を制御できないため動作しません。共有プリファレンスはプリミティブ型のみを受け入れます。新しいアクティビティで新しいインスタンスを取得し、新しいアクティビティでユーザをログアウトする必要がありますか?私は新しいインスタンスを取得してもユーザーの状態は保持されますか?
ここにコード
mAuth = FirebaseAuth.getInstance();
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user != null) {
// User is signed in
Log.d(TAG, "onAuthStateChanged:signed_in:" + user.getUid());
Toast.makeText(getApplicationContext(), "You are logged in!!!",
Toast.LENGTH_SHORT).show();
Intent intent = new Intent(MainActivity.this, CameraActivity.class);
startActivity(intent);
} else {
// User is signed out
Log.d(TAG, "onAuthStateChanged:signed_out");
}
}
};